aboutsummaryrefslogtreecommitdiff
path: root/kernel/include/boot
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--kernel/include/boot/gdt.h19
-rw-r--r--kernel/include/boot/interrupts.h26
2 files changed, 18 insertions, 27 deletions
diff --git a/kernel/include/boot/gdt.h b/kernel/include/boot/gdt.h
index 49067bd..b104db8 100644
--- a/kernel/include/boot/gdt.h
+++ b/kernel/include/boot/gdt.h
@@ -92,9 +92,6 @@
#define GDT_KERNEL_CODE_OFFSET 0x8
#define GDT_KERNEL_DATA_OFFSET 0x10
-namespace GDT
-{
-
typedef struct {
uint16_t limit_low;
uint16_t base_low;
@@ -102,18 +99,16 @@ typedef struct {
uint8_t access_flags;
uint8_t flags_limit_high;
uint8_t base_high;
-} PACKED entry_t;
+} PACKED gdt_entry_t;
typedef struct {
- uint16_t limit; /* sizeof(GDT) - 1 */
- entry_t *ptr; /* Address of GDT */
-} PACKED descriptor_t;
-
-extern "C" void _GDT_flush(descriptor_t *descriptor);
+ uint16_t limit; /* sizeof(GDT) - 1 */
+ gdt_entry_t *ptr; /* Address of GDT */
+} PACKED gdt_descriptor_t;
-void initialize(void);
-void load(void);
+void _GDT_flush(gdt_descriptor_t *descriptor);
-}
+void gdt_initialize(void);
+void gdt_load(void);
#endif
diff --git a/kernel/include/boot/interrupts.h b/kernel/include/boot/interrupts.h
index 4df66e9..d436d30 100644
--- a/kernel/include/boot/interrupts.h
+++ b/kernel/include/boot/interrupts.h
@@ -21,6 +21,7 @@
#include <boot/gdt.h>
#include <common.h>
+#include <stdbool.h>
#include <stdint.h>
#define IDT_ENTRY(isr, attributes) \
@@ -36,14 +37,11 @@
#define IDT_PRESENT (1 << 7)
#define IDT_KERNEL_PRIVILEGE_LEVEL (0)
#define IDT_USER_PRIVILEGE_LEVEL (3 << 5)
-#define IDT_TASK_GATE (0b0101)
-#define IDT_16BIT_INTERRUPT_GATE (0b0110)
-#define IDT_16BIT_TRAP_GATE (0b0111)
-#define IDT_32BIT_INTERRUPT_GATE (0b1110)
-#define IDT_32BIT_TRAP_GATE (0b1111)
-
-namespace Interrupts
-{
+#define IDT_TASK_GATE (0x05)
+#define IDT_16BIT_INTERRUPT_GATE (0x06)
+#define IDT_16BIT_TRAP_GATE (0x07)
+#define IDT_32BIT_INTERRUPT_GATE (0x0e)
+#define IDT_32BIT_TRAP_GATE (0x0f)
typedef struct {
uint16_t isr_low;
@@ -59,16 +57,14 @@ typedef struct {
} PACKED descriptor_t;
/* Simply loads IDT and enables interrupts */
-void initialize(void);
-void enable(void);
-void disable(void);
+void interrupts_initialize(void);
+void interrupts_enable(void);
+void interrupts_disable(void);
/* IDT */
-void load_idt(void);
+void idt_load(void);
bool idt_loaded(void);
-extern "C" NORETURN void exception_handler(int irq_number);
-
-}
+NORETURN void exception_handler(int irq_number);
#endif