diff options
Diffstat (limited to 'src/interrupts.c')
-rw-r--r-- | src/interrupts.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/interrupts.c b/src/interrupts.c index 6fd8024..77ba0d0 100644 --- a/src/interrupts.c +++ b/src/interrupts.c @@ -17,8 +17,6 @@ // types of IDT entries #define IDT_TYPE_INTERRUPT_GATE 0xE -interrupt_descriptor_table_pointer_t idt_pointer; - void interrupts_init( interrupt_t *interrupt ) { memset( interrupt, 0, sizeof( interrupt_t ) ); @@ -32,10 +30,10 @@ void interrupts_init( interrupt_t *interrupt ) interrupts_register_interrupt( interrupt, 0x00, GDT_CODE_SEGMENT_SELECTOR, &interrupts_handle_request_0x00, KERNEL_RING, IDT_TYPE_INTERRUPT_GATE ); - idt_pointer.size = 256 * sizeof( interrupt_gate_descriptor_t ) - 1; - idt_pointer.base = (uint32_t)interrupt->descriptor_table; + interrupt->idt_pointer.size = 256 * sizeof( interrupt_gate_descriptor_t ) - 1; + interrupt->idt_pointer.base = (uint32_t)interrupt->descriptor_table; - interrupts_load_idt( &idt_pointer ); + interrupts_load_idt( &interrupt->idt_pointer ); } void interrupts_register_interrupt( interrupt_t *interrupts, |