diff options
Diffstat (limited to 'src/stem/task/idt.h')
-rw-r--r-- | src/stem/task/idt.h | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/src/stem/task/idt.h b/src/stem/task/idt.h deleted file mode 100644 index bb89013..0000000 --- a/src/stem/task/idt.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef DEF_IDT_H -#define DEF_IDT_H - -#include <types.h> - -struct idt_entry { - uint16_t base_lo; //Low part of address to jump to - uint16_t sel; //Kernel segment selector - uint8_t always0; - uint8_t flags; //Flags - uint16_t base_hi; //High part of address to jump to -} __attribute__((packed)); - -struct idt_ptr { - uint16_t limit; - uint32_t base; -} __attribute__((packed)); - -struct registers { - uint32_t cr3; //page directory physical address - uint32_t ds; // Data segment selector - uint32_t edi, esi, ebp, esp, ebx, edx, ecx, eax; // Pushed by pusha. - uint32_t int_no, err_code; // Interrupt number and error code (if applicable) - uint32_t eip, cs, eflags, useresp, ss; // Pushed by the processor automatically. -}; - -typedef void (*int_callback)(struct registers*); - -void idt_init(); -void idt_handleIrq(int number, int_callback func); - -#endif - |