x86_64: Handle I/O APIC probing failure
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Sun, 15 May 2011 06:50:30 +0000 (14:50 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Sun, 15 May 2011 07:04:47 +0000 (15:04 +0800)
commit944562df8d40fa1b6949f95af19ef90cc4e8227b
tree7564a2335ce2795343a96e1564bcc5ef31ab0127
parentfdab6c5ca9bc6161fd4e1a93568543a35531af5b
x86_64: Handle I/O APIC probing failure

If I/O APIC does not exist:
- Reset apic_io_enable and reinitialize ICU if necessary; mainly for
  ICU's auto EOI setting.
- Enable LAPIC LINT0 and disable LAPIC LINT1

While I'm here, add hw.ioapic_probe tunable to test this feature (again,
just don't it :)
sys/platform/pc64/apic/ioapic.c
sys/platform/pc64/apic/ioapic.h
sys/platform/pc64/apic/lapic.c
sys/platform/pc64/apic/lapic.h
sys/platform/pc64/x86_64/mp_machdep.c