diff options
| author | Franklin Wei <frankhwei536@gmail.com> | 2015-02-01 16:40:00 -0500 |
|---|---|---|
| committer | Franklin Wei <frankhwei536@gmail.com> | 2015-02-01 16:40:00 -0500 |
| commit | 957b031689658c1ff67ea8a8a04640be9bec2d7d (patch) | |
| tree | 231c46b390d8d242461a0c571b8fbcf671e8c370 /kernel/include/idt.h | |
| parent | 439d724ce5939cab7a5c858d1829f212e01e0402 (diff) | |
| download | kappa-957b031689658c1ff67ea8a8a04640be9bec2d7d.zip kappa-957b031689658c1ff67ea8a8a04640be9bec2d7d.tar.gz kappa-957b031689658c1ff67ea8a8a04640be9bec2d7d.tar.bz2 kappa-957b031689658c1ff67ea8a8a04640be9bec2d7d.tar.xz | |
a lot of kernel work
Diffstat (limited to 'kernel/include/idt.h')
| -rw-r--r-- | kernel/include/idt.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/kernel/include/idt.h b/kernel/include/idt.h new file mode 100644 index 0000000..8041025 --- /dev/null +++ b/kernel/include/idt.h @@ -0,0 +1,23 @@ +#include <stdint.h> + +struct idt_entry { + uint16_t base_lo; + uint16_t sel; + uint8_t zero; + uint8_t flags; + uint16_t base_hi; +} __attribute__((packed)); + +struct idt_ptr { + uint16_t limit; + uint32_t base; +}; + +struct idt_entry idt[0x100]; +struct idt_ptr idt_pt; + +void idt_init(void); + +extern void idt_flush(uint32_t); + +void idt_set_gate(uint8_t idx, uint32_t base, uint16_t sel, uint8_t flags); |