I'm working on porting LinuxBIOS to an AM2+MCP55-based mainboard (DFI LANParty UT NF590) using the latest AMD Rev F and MCP55 southbridge code from svn.
I replaced most of the CK804 PCI device IDs with their MCP55 counterparts, and put the following in my mainboard Config.lb:
chip northbridge/amd/amdk8/root_complex device apic_cluster 0 on chip cpu/amd/socket_AM2 device apic 0 on end end end device pci_domain 0 on chip northbridge/amd/amdk8 #mc0 device pci 18.0 on # northbridge # devices on link 0, link 0 == LDT 0 chip southbridge/nvidia/ck804 device pci a.0 on end device pci a.1 on end device pci c.0 on end end end # device pci 18.0 device pci 18.0 on end # Link 1 device pci 18.0 on end # Link 2 device pci 18.1 on end device pci 18.2 on end device pci 18.3 on end end #mc0 end # pci_domain end # root_complex
Obviously this is not quite right, since I get the following output during boot:
Jumping to LinuxBIOS. LinuxBIOS-2.0.0-FILO Thu Oct 5 11:34:43 PDT 2006 booting... Enumerating buses... APIC_CLUSTER: 0 enabled PCI_DOMAIN: 0000 enabled PCI: 00:18.3 siblings=1 CPU: APIC: 00 enabled CPU: APIC: 01 enabled PCI: pci_scan_bus for bus 00 PCI: 00:18.0 [1022/1100] enabled PCI: 00:18.1 [1022/1101] enabled PCI: 00:18.2 [1022/1102] enabled PCI: 00:18.3 [1022/1103] enabled PCI: 00:1e.0 [10de/0369] enabled PCI: 00:1f.0 [10de/0360] enabled PCI: 00:1f.1 [10de/0368] enabled PCI: 00:1f.2 [10de/036a] enabled Disabling static device: PCI: 00:0a.0 PCI: pci_scan_bus for bus 00 PCI: 00:00.0 [10de/036c] enabled PCI: 00:00.1 [10de/036d] enabled PCI: 00:0a.0 PCI: 00:0a.1 PCI: 00:0c.0 PCI: Left over static devices. Check your Config.lb
I'm pretty fuzzy on what exactly belongs in the device/chip section of the Config.lb, and how this affects the PCI device enumeration during boot (e.g. how did device 10de:036c get mapped to 00:00.0?). Is there a document that explains this?
I've attached the output of lspci (using the factory BIOS), as well as my modified pci_ids.h and cache_as_ram_auto.c.
Any pointers would be appreciated.
--Ed
* Ed Swierk eswierk@arastra.com [061005 21:00]:
PCI: 00:00.0 [10de/036c] enabled PCI: 00:00.1 [10de/036d] enabled PCI: 00:0a.0 PCI: 00:0a.1 PCI: 00:0c.0 PCI: Left over static devices. Check your Config.lb
I'm pretty fuzzy on what exactly belongs in the device/chip section of the Config.lb, and how this affects the PCI device enumeration during boot (e.g. how did device 10de:036c get mapped to 00:00.0?). Is there a document that explains this?
I think when you see this error the following happens:
You are mentioning some device in the tree description which can not be found in the real system, so LinuxBIOS assumes there is something wrong with your bios image and refuses to continue.
The first thing that looks suspicious is the CK804. LinuxBIOS probably finds the NForce5 instead of the expected NForce4 and pegs out.
Please also check that the components are hanging off the correct hypertransport link.
There is this funny notion in LinuxBIOS that you see
pci 18.0 ... end 3 times, which reflects the 3 hypertransport links per CPU.
To find out which one is the correct one, you can read out the CPU's HT config registers with factory bios, or read the mainboard schematics.
Stefan