IRQs
| Member Type | Member Name |
|---|---|
irq_handler_t | handler |
void | *ctx |
| Member Type | Member Name |
|---|---|
uint64_t | rax |
uint64_t | rbx |
uint64_t | rcx |
uint64_t | rdx |
uint64_t | rbp |
uint64_t | rdi |
uint64_t | rsi |
uint64_t | r8 |
uint64_t | r9 |
uint64_t | r10 |
uint64_t | r11 |
uint64_t | r12 |
uint64_t | r13 |
uint64_t | r14 |
uint64_t | r15 |
uint64_t | rip |
uint64_t | cs |
uint64_t | rflags |
uint64_t | rsp |
uint64_t | ss |
type alias
Section titled “type alias”(*irq_handler_t) : void (void *ctx, uint8_t vector, void *rsp)
voidirq_register(uint8_t vector,irq_handler_t handler,void *ctx)static inline voidirq_mark_self_in_interrupt(bool new)static inline boolirq_in_interrupt(void)static inline boolirq_in_thread_context(void)
Defines
Section titled “Defines”IRQ_DIV_BY_Z:0x0IRQ_DEBUG:0x1IRQ_BREAKPOINT:0x3IRQ_DBF:0x8IRQ_SSF:0xCIRQ_GPF:0xDIRQ_PAGE_FAULT:0xEIRQ_TIMER:0x20IRQ_SCHEDULER:IRQ_TIMERIRQ_TLB_SHOOTDOWN:0x22IRQ_PANIC:0x23IRQ_NOP:0x24 /* This is here so cores can bother each other */