diff options
author | Lizzy Fleckenstein <lizzy@vlhl.dev> | 2023-12-15 16:10:22 +0100 |
---|---|---|
committer | Lizzy Fleckenstein <lizzy@vlhl.dev> | 2023-12-15 16:11:38 +0100 |
commit | 2298d17186cb0e58a96d285384de431902da9b1e (patch) | |
tree | 635d642931d9f55e701639ee3b3707e0e28a805e /stage3/interrupts.c | |
parent | 8a25a2935a60e65fcb3e2b715bada858f5fcd6a2 (diff) | |
download | cuddles-2298d17186cb0e58a96d285384de431902da9b1e.tar.xz |
big chungus
* fix a heap corruption bug
* add qemu support
* add an ATA driver
* add an USTAR read-only file system
* boot from disk instead of floppy
* font rendering
* image rendering
* PCI enumeration
* init script
Diffstat (limited to 'stage3/interrupts.c')
-rw-r--r-- | stage3/interrupts.c | 14 |
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], }; |