After much hair pulling the problem with dual BGE interfaces not coming up
authorMatthew Dillon <dillon@dragonflybsd.org>
Tue, 27 Dec 2005 21:32:11 +0000 (21:32 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Tue, 27 Dec 2005 21:32:11 +0000 (21:32 +0000)
commitcd2cd9287eaecf9aec1b2218657ae24fe50b39db
tree9f91cf855b8c48099bdc5280972085b6f9358581
parent4f9a60e115cbffbd58c9f982e818890aeaf39735
After much hair pulling the problem with dual BGE interfaces not coming up
has been tracked down to BGE0 sharing an interrupt with ACPI.  The bug is
actually in ACPI.  ACPI installs its interrupt vector too early, before
the IO APICs have been configured, so the IO pin is not actually turned on.

Then, later, bge0 installs its interrupt on the same IRQ but the IOAPIC is
still not enabled because the interrupt subsystem thinks it has already
enabled it.

For the moment, just hack a fix into kern_intr.c to always reinitialize
the pin, with a big XXX comment describing the problem.

Reported-by: David Rhodus
sys/kern/kern_intr.c