diff options
Diffstat (limited to 'kernel/apic.c')
| -rw-r--r-- | kernel/apic.c | 19 |
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*/ |
