diff options
Diffstat (limited to 'src/hardware')
-rw-r--r-- | src/hardware/interrupts.asm | 1 | ||||
-rw-r--r-- | src/hardware/interrupts.c | 4 | ||||
-rw-r--r-- | src/hardware/interrupts.h | 1 |
3 files changed, 6 insertions, 0 deletions
diff --git a/src/hardware/interrupts.asm b/src/hardware/interrupts.asm index 30204e7..95d33f9 100644 --- a/src/hardware/interrupts.asm +++ b/src/hardware/interrupts.asm @@ -60,6 +60,7 @@ interrupts_handle_irq_%1: irq_stub 0x00 irq_stub 0x01 +irq_stub 0x0B irq_stub 0x0C int_entry: diff --git a/src/hardware/interrupts.c b/src/hardware/interrupts.c index bec0896..41433a5 100644 --- a/src/hardware/interrupts.c +++ b/src/hardware/interrupts.c @@ -109,6 +109,10 @@ void interrupts_init( interrupt_t *interrupt, uint16_t gdt_code_segment_selector interrupts_register_interrupt_gate( interrupt, IRQ_BASE + 0x01, gdt_code_segment_selector, &interrupts_handle_irq_0x01, KERNEL_RING, IDT_TYPE_INTERRUPT_GATE ); + // IRQ 11 - PCI, at the moment the RTL8139 + interrupts_register_interrupt_gate( interrupt, IRQ_BASE + 0x0B, gdt_code_segment_selector, + &interrupts_handle_irq_0x0B, KERNEL_RING, IDT_TYPE_INTERRUPT_GATE ); + // IRQ 12 - PS/2 mouse interrupts_register_interrupt_gate( interrupt, IRQ_BASE + 0x0C, gdt_code_segment_selector, &interrupts_handle_irq_0x0C, KERNEL_RING, IDT_TYPE_INTERRUPT_GATE ); diff --git a/src/hardware/interrupts.h b/src/hardware/interrupts.h index 64040cb..f93fa44 100644 --- a/src/hardware/interrupts.h +++ b/src/hardware/interrupts.h @@ -103,6 +103,7 @@ void interrupts_ignore_request( ); void interrupts_handle_exception_0x00( ); void interrupts_handle_irq_0x00( ); void interrupts_handle_irq_0x01( ); +void interrupts_handle_irq_0x0B( ); void interrupts_handle_irq_0x0C( ); // later: tasks and stacks, queues |