summaryrefslogtreecommitdiff
path: root/stage3/interrupts.c
diff options
context:
space:
mode:
Diffstat (limited to 'stage3/interrupts.c')
-rw-r--r--stage3/interrupts.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/stage3/interrupts.c b/stage3/interrupts.c
index e7b819e..71f953f 100644
--- a/stage3/interrupts.c
+++ b/stage3/interrupts.c
@@ -102,6 +102,13 @@ void interrupt_handler(interrupt_frame *frame)
}
}
+typedef struct {
+ u16 size;
+ u64 addr;
+} __attribute__((packed)) idt_descriptor;
+
+idt_descriptor idtr;
+
void init_interrupts()
{
typedef struct {
@@ -139,12 +146,7 @@ void init_interrupts()
};
}
- typedef struct {
- u16 size;
- u64 addr;
- } __attribute__((packed)) idt_descriptor;
-
- idt_descriptor idtr = {
+ idtr = (idt_descriptor) {
.size = 256 * sizeof *idt - 1,
.addr = (u64) &idt[0],
};