summaryrefslogtreecommitdiff
path: root/kernel/interrupts.c
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2018-09-23 00:06:55 +0200
committerMiguel <m.i@gmx.at>2018-09-23 00:06:55 +0200
commite73d89fd48a71a1cff764fc07edd46cb951e9418 (patch)
tree9d71bc8387ac32cfce69df5d3c7d345dc9e59a40 /kernel/interrupts.c
parent80f7ccf5f82d8f04f853bde0bdee5b44a5403104 (diff)
struggling with e1000
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);