From 975a9ec96e282e437ccc1bdf1e660dcbf4542791 Mon Sep 17 00:00:00 2001 From: EmulatedSeasons <89668582+EmulatedSeasons@users.noreply.github.com> Date: Fri, 10 May 2024 01:44:59 -0400 Subject: Added GDT and basic IDT as well as a bitmap drawing function --- kernel/arch/x86_64/idt.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 kernel/arch/x86_64/idt.h (limited to 'kernel/arch/x86_64/idt.h') diff --git a/kernel/arch/x86_64/idt.h b/kernel/arch/x86_64/idt.h new file mode 100644 index 0000000..e6e2494 --- /dev/null +++ b/kernel/arch/x86_64/idt.h @@ -0,0 +1,24 @@ +#ifndef IDT_H +#define IDT_H + +#include + +struct IDTR { + uint16_t size; + uint64_t offset; +}__attribute__((packed)); + +struct IdtEntry { + uint16_t offset_low; + uint16_t seg_sel; + uint8_t ist; + uint8_t type_attributes; + uint16_t offset_mid; + uint32_t offset_high; + uint32_t reserved; +}__attribute__((packed)); + +void idt_entry(int num, uint64_t* offset, uint16_t sel, uint8_t ist, uint8_t type_attributes); +void setup_idt(); + +#endif \ No newline at end of file -- cgit v1.2.3-70-g09d2