* Ed Swierk eswierk@arastra.com [061212 19:50]:
Should I try to fix the routing table or try to get ACPI working?
Get a simple version of ACPI working. Its much more complete and still cleaner than having to implement _both_ of mp and pirq to get things right. pirq handling in linux is broken, too.
Have a look at the acpi implementation of the epia-m. its simple and clean. The one of some Opteron mainboards might be a better fit, since they're more modular and already contain most of what you need.
The factory bios DSDT knows the interrupt routing.
- I'm not sure whether HT unitid assignment is correct; the meanings
of HT_CHAIN_UNITID_BASE, HT_CHAIN_END_UNITID_BASE, SB_HT_CHAIN_ON_BUS0 and SB_HT_CHAIN_UNITID_OFFSET_ONLY are very unclear despite comments in the code.
Nobody except Yinghai really knows what their valid parameters are ;-) If you copied the values from an existing board, its probably fine though.
- The PCI device IDs assigned during HyperTransport device
enumeration don't match up with those assigned by the factory BIOS, e.g. the southbridge HT interface (device 10de:0369) is assigned to device 1 on LinuxBIOS but device 8 on the factory BIOS. I'm not sure whether this is a big deal, but is there some way to get them assigned in the same way?
The variables of 3. have something to do with it. Also, parts of this is a breadth-first vs depth-first algorithm issue. Its really no big deal though.