diff options
Diffstat (limited to 'src/include/isv.h')
-rw-r--r-- | src/include/isv.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/include/isv.h b/src/include/isv.h new file mode 100644 index 0000000..d9dfa1b --- /dev/null +++ b/src/include/isv.h @@ -0,0 +1,25 @@ +#ifndef isv_defined +#define isv_defined + +//TODO move to int.h + +struct int_frame { + void *rip; + uint64_t segment_selector; + uint64_t rflags; + void *rsp; + uint64_t stack_segment; +} __attribute__((packed)); + +struct exception_frame { + uint64_t err; + struct int_frame frame; +} __attribute__((packed)); + +__attribute__((interrupt)) void spurrious_int(void *unused); +__attribute__((interrupt)) void kernel_block(void *unused); +__attribute__((interrupt)) void fatal_hwexception(struct int_frame *frame); +__attribute__((interrupt)) void fatal_hwexception_errcode(struct exception_frame *frame); +__attribute__((interrupt)) void lapic_timer_racefixer(void *unused); + +#endif |