-----Original Message----- From: linuxbios-bounces@linuxbios.org [mailto:linuxbios-bounces@linuxbios.org] On Behalf Of Ed Swierk Sent: Tuesday, December 12, 2006 10:51 AM To: LinuxBIOS Subject: [LinuxBIOS] More MCP55 hacking
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.
That is called 590 by Nvidia. (C51+MCP55)
I've gotten a Linux kernel to boot, but I am stuck on a few issues:
- 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?
Forget about ACPI for irq routing, They said dsdt is under IBV copyright. I don't think you can prove to implement one dsdt in clean room. (If you can access the system with BIOS, you are contaminated.)
- 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.
- 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?
##HT Unit ID offset, default is 1, the typical one default HT_CHAIN_UNITID_BASE=0x06
##real SB Unit ID, default is 0x20, mean dont touch it at last default HT_CHAIN_END_UNITID_BASE=0x01
(it will put c51 on unitid 6, and mcp55 on unitid 1), there will be some device overlap.
===>
##HT Unit ID offset, default is 1, the typical one #default HT_CHAIN_UNITID_BASE=0x06
##real SB Unit ID, default is 0x20, mean dont touch it at last #default HT_CHAIN_END_UNITID_BASE=0x01
(it will put c51 on unitid 1, and mcp55 on unitid ?)
YH