diff options
Diffstat (limited to 'kernel/src/interrupt/idt.h')
-rw-r--r-- | kernel/src/interrupt/idt.h | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/kernel/src/interrupt/idt.h b/kernel/src/interrupt/idt.h deleted file mode 100644 index 86a685f..0000000 --- a/kernel/src/interrupt/idt.h +++ /dev/null @@ -1,36 +0,0 @@ -#pragma once - -#include <stdint.h> - -#define IDT_SIZE 256 -#define IDT_INTERRUPTS 256 - -struct IdtEntry { - uint16_t isr_low; - uint16_t kernel_cs; - uint8_t _reserved; - uint8_t attributes; - uint16_t isr_high; -} __attribute__((packed)); - -struct Idtr { - uint16_t limit; - uint32_t base; -} __attribute__((packed)); - -enum IDTFlags { - IDT_FLAG_GATE_TASK = 0x5, - IDT_FLAG_GATE_16BIT_INT = 0x6, - IDT_FLAG_GATE_16BIT_TRAP = 0x7, - IDT_FLAG_GATE_32BIT_INT = 0xE, - IDT_FLAG_GATE_32BIT_TRAP = 0xF, - - IDT_FLAG_RING0 = (0 << 5), - IDT_FLAG_RING1 = (1 << 5), - IDT_FLAG_RING2 = (2 << 5), - IDT_FLAG_RING3 = (3 << 5), - - IDT_FLAG_PRESENT = 0x80, -}; - -void idt_init(void); |