I've resumed hacking on LinuxBIOS on an Athlon socket AM2 board with an nVidia MCP55 southbridge and a C51XE between the two. I'm using the CK804 southbridge code with updated PCI IDs, and Yinghai's socket AM2 code.
I've gotten a Linux kernel to boot, but I am stuck on a few issues:
1. I haven't gotten interrupt routing to work yet, and the IRQ routing table I extract from the factory BIOS seems broken. When I boot with the factory BIOS, however, Linux uses ACPI for interrupt routing, which I think bypasses the routing table altogether. Should I try to fix the routing table or try to get ACPI working? Linux searches for a device to act as an interrupt router; which device on my board would play that role?
2. The HT bridge configuration seems messed up. Linux complains "Unable to handle 64-bit address space" for each bridge because the limit register is still 0. How do I get these registers configured properly?
3. 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.
4. 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?
I've attached a boot dump (boot.txt), various lspci dumps, and my mainboard Options.lb and Config.lb.
Any help would be appreciated.
--Ed