x86: can use the IOAPIC even without MP tables
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 13 Mar 2014 04:33:55 +0000 (21:33 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Sat, 29 Mar 2014 01:17:04 +0000 (18:17 -0700)
commit0b45e10d8f410b86dfed15a88650f3a33a32a666
treed0cd22b3f03e866eb7ad39137e2251b1f5887ad6
parent8f9b960298a6fec0d4e413c31f21b6dd1483ba35
x86: can use the IOAPIC even without MP tables

mpparse() usually builds the RDT structs.  If the mptables are missing
or o/w incomplete, we'll need to check with ACPI to fill in the holes.

Checks the ACPI MADT for intovrs or just guesses (which isn't wrong for
ISA) to build an RDT route.

Qemu, at least, has ACPI intovr entries for its PCI NIC.  If we have
hardware with no MP tables and without intovr entries, then we might be
out of luck.  I try guessing, just in case that works.  With MSI, it
should be less of an issue.
kern/arch/x86/ioapic.c