MOS Source Code
|
#include "mos/interrupt/interrupt.h"
#include "mos/lib/structures/list.h"
#include "mos/mm/slab_autoinit.h"
#include <mos_stdlib.h>
Go to the source code of this file.
Classes | |
struct | interrupt_handler_t |
Functions | |
SLAB_AUTOINIT ("irq_handler", irq_handler_slab, interrupt_handler_t) | |
void | interrupt_entry (u32 irq) |
void | interrupt_handler_register (u32 irq, irq_serve_t handler, void *data) |
Register an interrupt handler. | |
Variables | |
static spinlock_t | irq_handlers_lock = SPINLOCK_INIT |
static list_head | irq_handlers = LIST_HEAD_INIT(irq_handlers) |
static slab_t * | irq_handler_slab = NULL |
SLAB_AUTOINIT | ( | "irq_handler" | , |
irq_handler_slab | , | ||
interrupt_handler_t | ) |
Definition at line 24 of file interrupt.c.
Referenced by riscv64_trap_handler(), and x86_handle_irq().
void interrupt_handler_register | ( | u32 | irq, |
irq_serve_t | handler, | ||
void * | data ) |
Register an interrupt handler.
irq | The interrupt number |
handler | The handler function |
data | Data to pass to the handler |
Definition at line 38 of file interrupt.c.
Referenced by platform_startup_late().
|
static |
Definition at line 18 of file interrupt.c.
Referenced by interrupt_handler_register().
|
static |
Definition at line 19 of file interrupt.c.
Referenced by interrupt_entry(), and interrupt_handler_register().
Definition at line 21 of file interrupt.c.
Referenced by interrupt_handler_register().