summaryrefslogtreecommitdiff
path: root/kernel/interrupts.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/interrupts.c')
-rw-r--r--kernel/interrupts.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/kernel/interrupts.c b/kernel/interrupts.c
index 94eda2e..10537f7 100644
--- a/kernel/interrupts.c
+++ b/kernel/interrupts.c
@@ -1,5 +1,6 @@
#include "kernel.h"
#include "log.h"
+#include "e1000.h"
#include "asm_int.h"
#include "asm_pit.h"
#include "driver/mouse.h"
@@ -77,6 +78,11 @@ uint32_t interrupt_handler(uint32_t esp, uint32_t irq)
task_syscall(stack[11],stack[8],stack[10],stack[9]); //eax,ebx,ecx,edx
break;
+ case INTERRUPT_E1000:
+ klog("e1");
+ e1000_irq(INTERRUPT_E1000);
+ break;
+
case INTERRUPT_APIC_TIMER:
case INTERRUPT_IPI:
esp=scheduler_run(esp,0);
@@ -149,6 +155,9 @@ void interrupts_init(uint16_t sel)
// Mouse (IOAPIC)
int_install_ir(0x92, 0b10001110, 0x08,&int146);
+ // E1000
+ int_install_ir(0x93, 0b10001110, 0x08,&int147);
+
// APIC Timer (LAPIC)
int_install_ir(0x8C, 0b10001110, 0x08,&int140);