I suspect you'll have to have a table of motherboards to sort out
the mapping, but again, with some doc's, and the ability to tell
the kernel NOT to use the IO-APIC code as a boot parameter, or better
enabled only via a boot parameter, it looks quite safe.
Maybe a table of KNOWN motherboards ?, with a manual setting in
the configure scripts for people who have an "unknown" board,
but who are willing to sort out the mapping.
If neither is set, turn off the IO-APIC code.
Just a thought, the basic APIC code seems amazing stable for its
first real test. The real problem of working out the slot->apic
mapping seems unlikely to just go away of it's own accord.
Peter