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