From dede7fa93eb4d19c6290355af0c5cb342e47e2f6 Mon Sep 17 00:00:00 2001 From: Simponic Date: Mon, 8 Mar 2021 23:28:16 -0700 Subject: No progress on interrupts :( --- include/idt.h | 34 +--------------------------------- include/isr.h | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 33 deletions(-) (limited to 'include') 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 -- cgit v1.2.3-70-g09d2