summaryrefslogtreecommitdiff
path: root/src/kernel/arch/amd64/interrupts/isr.c
diff options
context:
space:
mode:
authordzwdz2022-08-17 12:49:34 +0200
committerdzwdz2022-08-17 12:49:34 +0200
commit2341a0705164e94d0874572505b60680fdbe631f (patch)
treeaea0bcd5c2339076b10d9e416ea1af4d1fb48400 /src/kernel/arch/amd64/interrupts/isr.c
parent63fd7ce362c7f1d59365045f19cf1ca87ffe2db9 (diff)
amd64: rtl8139 driver with basic rx support
Diffstat (limited to 'src/kernel/arch/amd64/interrupts/isr.c')
-rw-r--r--src/kernel/arch/amd64/interrupts/isr.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/kernel/arch/amd64/interrupts/isr.c b/src/kernel/arch/amd64/interrupts/isr.c
index d1c2b26..17dce6e 100644
--- a/src/kernel/arch/amd64/interrupts/isr.c
+++ b/src/kernel/arch/amd64/interrupts/isr.c
@@ -1,4 +1,5 @@
#include <kernel/arch/amd64/driver/ps2.h>
+#include <kernel/arch/amd64/driver/rtl8139.h>
#include <kernel/arch/amd64/driver/serial.h>
#include <kernel/arch/amd64/interrupts/irq.h>
#include <kernel/arch/amd64/interrupts/isr.h>
@@ -45,6 +46,11 @@ void isr_stage3(int interrupt, uint64_t *stackframe) {
irq_eoi(IRQ_COM1);
return;
+ case IRQ_IBASE + IRQ_RTL8139:
+ rtl8139_irq();
+ irq_eoi(interrupt - IRQ_IBASE);
+ return;
+
default:
if ((stackframe[1] & 0x3) == 0) {
log_interrupt(interrupt, stackframe);