diff options
author | Simponic <loganthebean222@gmail.com> | 2021-03-08 23:28:16 -0700 |
---|---|---|
committer | Simponic <loganthebean222@gmail.com> | 2021-03-08 23:28:16 -0700 |
commit | dede7fa93eb4d19c6290355af0c5cb342e47e2f6 (patch) | |
tree | bb2b1333d03a135d8998ab834546782fcdd3c680 /include | |
parent | f42700b6c6329be0813b523bcde6bcf1ee13678a (diff) | |
download | simponicos-dede7fa93eb4d19c6290355af0c5cb342e47e2f6.tar.gz simponicos-dede7fa93eb4d19c6290355af0c5cb342e47e2f6.zip |
No progress on interrupts :(interrupts
Diffstat (limited to 'include')
-rw-r--r-- | include/idt.h | 34 | ||||
-rw-r--r-- | include/isr.h | 36 |
2 files changed, 37 insertions, 33 deletions
diff --git a/include/idt.h b/include/idt.h index c08cf75..1722820 100644 --- a/include/idt.h +++ b/include/idt.h @@ -2,6 +2,7 @@ #define IDT_H #include "types.h" +#include "isr.h" struct IDT { uint32_t base; @@ -20,37 +21,4 @@ struct IDT createIDT(uint32_t base, uint16_t selector, uint8_t flags); void encodeIDT(uint8_t* idtEntry, struct IDT source); void initializeIDT(); -extern void isr0 (); -extern void isr1 (); -extern void isr2 (); -extern void isr3 (); -extern void isr4 (); -extern void isr5 (); -extern void isr6 (); -extern void isr7 (); -extern void isr8 (); -extern void isr9 (); -extern void isr10(); -extern void isr11(); -extern void isr12(); -extern void isr13(); -extern void isr14(); -extern void isr15(); -extern void isr16(); -extern void isr17(); -extern void isr18(); -extern void isr19(); -extern void isr20(); -extern void isr21(); -extern void isr22(); -extern void isr23(); -extern void isr24(); -extern void isr25(); -extern void isr26(); -extern void isr27(); -extern void isr28(); -extern void isr29(); -extern void isr30(); -extern void isr31(); - #endif // IDT_H diff --git a/include/isr.h b/include/isr.h index 831a2f4..f2f4aea 100644 --- a/include/isr.h +++ b/include/isr.h @@ -10,4 +10,40 @@ struct registers{ uint32_t eip, cs, eflags, useresp, ss; } __attribute__((packed)); +extern void isr_common_stub(); +extern void isr_handler(struct registers regs); + +extern void isr0 (); +extern void isr1 (); +extern void isr2 (); +extern void isr3 (); +extern void isr4 (); +extern void isr5 (); +extern void isr6 (); +extern void isr7 (); +extern void isr8 (); +extern void isr9 (); +extern void isr10(); +extern void isr11(); +extern void isr12(); +extern void isr13(); +extern void isr14(); +extern void isr15(); +extern void isr16(); +extern void isr17(); +extern void isr18(); +extern void isr19(); +extern void isr20(); +extern void isr21(); +extern void isr22(); +extern void isr23(); +extern void isr24(); +extern void isr25(); +extern void isr26(); +extern void isr27(); +extern void isr28(); +extern void isr29(); +extern void isr30(); +extern void isr31(); + #endif // ISR_H |