summaryrefslogtreecommitdiff
path: root/kernel/apic.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/apic.c
parent80f7ccf5f82d8f04f853bde0bdee5b44a5403104 (diff)
struggling with e1000
Diffstat (limited to 'kernel/apic.c')
-rw-r--r--kernel/apic.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/kernel/apic.c b/kernel/apic.c
index 3ec10b9..f78a03a 100644
--- a/kernel/apic.c
+++ b/kernel/apic.c
@@ -146,15 +146,20 @@ void ioapic_config()
{
fixme("use acpi info to setup IOAPIC");
// setup IO APIC
- // PIT irq 00 -> 02 flags 0 -> 0x90
- // kb irq 01 -> 01 flags ? -> 0x91
- // mouse irq 12 -> 12 flags ? -> 0x92
-// ioapic_config_entry(2,0x90|0x2000,0x3<<24); // egde trigger on falling
+ // DEVICE SOURCE OVERRIDE FLAGS FOOL-OS-INTERRUPT
+ // PIT 00 -> 02 0 high/edge 0x90 / 144
+ // kb 01 -> 01 ? 0x91 / 145
+ // mouse 12 -> 12 ? 0x92 / 146
+ // e1000 11 -> 11 13? high/level 0x93 / 147
+// ioapic_config_entry(3,0x90|0x2000,0x3<<24); // egde trigger on falling
// ioapic_config_entry(2,0x90|0x8000,0x3<<24); // level trigger on high
// ioapic_config_entry(2,0x90|0xa000,0x3<<24); // level trigger on low
- ioapic_config_entry(2,0x90,0x0);
- ioapic_config_entry(1,0x91,0x0);
- ioapic_config_entry(12,0x92,0x0);
+
+// CPU
+ ioapic_config_entry(2, 0x90, 0x0<<24); // pit
+ ioapic_config_entry(1, 0x91, 0x0<<24); // kb
+ ioapic_config_entry(12, 0x92, 0x0<<24); // mouse
+ ioapic_config_entry(11, 0x93|0x8000, 0x0<<24); // e1000 (level trigger on high)
}
/** startup other cpus*/