interrupt.h 965 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. * (C) Copyright 2009
  3. * Graeme Russ, graeme.russ@gmail.com
  4. *
  5. * (C) Copyright 2002
  6. * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
  7. *
  8. * SPDX-License-Identifier: GPL-2.0+
  9. */
  10. #ifndef __ASM_INTERRUPT_H_
  11. #define __ASM_INTERRUPT_H_ 1
  12. #include <asm/types.h>
  13. /* arch/x86/cpu/interrupts.c */
  14. void set_vector(u8 intnum, void *routine);
  15. /* arch/x86/lib/interrupts.c */
  16. void disable_irq(int irq);
  17. void enable_irq(int irq);
  18. /* Architecture specific functions */
  19. void mask_irq(int irq);
  20. void unmask_irq(int irq);
  21. void specific_eoi(int irq);
  22. extern char exception_stack[];
  23. /**
  24. * configure_irq_trigger() - Configure IRQ triggering
  25. *
  26. * Switch the given interrupt to be level / edge triggered
  27. *
  28. * @param int_num legacy interrupt number (3-7, 9-15)
  29. * @param is_level_triggered true for level triggered interrupt, false for
  30. * edge triggered interrupt
  31. */
  32. void configure_irq_trigger(int int_num, bool is_level_triggered);
  33. void *x86_get_idt(void);
  34. #endif