Go to the source code of this file.
|
| void | irq_init (void) |
| | Initialize the IRQ subsystem.
|
| |
| void | irq_dispatch (interrupt_frame_t *frame, cpu_t *self) |
| | Dispatch an IRQ.
|
| |
| uint64_t | irq_virt_alloc (irq_virt_t *out, irq_phys_t phys, irq_flags_t flags, cpu_t *cpu) |
| | Allocate a virtual IRQ mapped to the given physical IRQ.
|
| |
| void | irq_virt_free (irq_virt_t virt) |
| | Free a previously allocated virtual IRQ.
|
| |
| uint64_t | irq_virt_set_affinity (irq_virt_t virt, cpu_t *cpu) |
| | Change the CPU responsible for an IRQ.
|
| |
| uint64_t | irq_chip_register (irq_chip_t *chip, irq_phys_t start, irq_phys_t end, void *private) |
| | Register an IRQ chip for a range of physical IRQs.
|
| |
| void | irq_chip_unregister (irq_chip_t *chip, irq_phys_t start, irq_phys_t end) |
| | Unregister all instances of the given IRQ chip within the specified range.
|
| |
| uint64_t | irq_chip_amount (void) |
| | Get the number of registered IRQ chips.
|
| |
| uint64_t | irq_handler_register (irq_virt_t virt, irq_func_t func, void *private) |
| | Register an IRQ handler for a virtual IRQ.
|
| |
| void | irq_handler_unregister (irq_func_t func, irq_virt_t virt) |
| | Unregister an IRQ handler.
|
| |
◆ cpu_t
Definition at line 10 of file irq.h.
◆ irq_chip_t
Definition at line 12 of file irq.h.
◆ irq_domain_t
Definition at line 13 of file irq.h.
◆ irq_t
Definition at line 14 of file irq.h.