I'm trying to write the mainboard Config.lb file to support a CK804 and an IO4 
on one Opteron.  

I can write a mainboard Config.lb file that will boot the system from an IDE 
device, but that's only because new device table entries are created for the 
IDE device.  So I'm not using the static on_mainboard=1 entries.

I can write a Config.lb file to use the CK804, but incoherent.c bumps up the 
device numbers and northbridge.c moves the device to bus 1.  Then I get the PCI 
bus configured like this

Bus# 00, Dev# 18, Func# 0  --->  Vendor ID = 1022   Device ID = 1100
Bus# 00, Dev# 18, Func# 1  --->  Vendor ID = 1022   Device ID = 1101
Bus# 00, Dev# 18, Func# 2  --->  Vendor ID = 1022   Device ID = 1102
Bus# 00, Dev# 18, Func# 3  --->  Vendor ID = 1022   Device ID = 1103
Bus# 00, Dev# 19, Func# 0  --->  Vendor ID = 1022   Device ID = 1100
Bus# 00, Dev# 19, Func# 1  --->  Vendor ID = 1022   Device ID = 1101
Bus# 00, Dev# 19, Func# 2  --->  Vendor ID = 1022   Device ID = 1102
Bus# 00, Dev# 19, Func# 3  --->  Vendor ID = 1022   Device ID = 1103
Bus# 01, Dev# 01, Func# 0  --->  Vendor ID = 10DE   Device ID = 005E
Bus# 01, Dev# 02, Func# 0  --->  Vendor ID = 10DE   Device ID = 0051
Bus# 01, Dev# 02, Func# 1  --->  Vendor ID = 10DE   Device ID = 0052
Bus# 01, Dev# 02, Func# 2  --->  Vendor ID = 10DE   Device ID = 005F
Bus# 01, Dev# 03, Func# 0  --->  Vendor ID = 10DE   Device ID = 005A
Bus# 01, Dev# 03, Func# 1  --->  Vendor ID = 10DE   Device ID = 005B
Bus# 01, Dev# 05, Func# 0  --->  Vendor ID = 10DE   Device ID = 0059
Bus# 01, Dev# 05, Func# 1  --->  Vendor ID = 10DE   Device ID = 0058
Bus# 01, Dev# 07, Func# 0  --->  Vendor ID = 10DE   Device ID = 0053
Bus# 01, Dev# 08, Func# 0  --->  Vendor ID = 10DE   Device ID = 0054
Bus# 01, Dev# 09, Func# 0  --->  Vendor ID = 10DE   Device ID = 0055
Bus# 01, Dev# 0A, Func# 0  --->  Vendor ID = 10DE   Device ID = 005C
Bus# 01, Dev# 0B, Func# 0  --->  Vendor ID = 10DE   Device ID = 0056
Bus# 01, Dev# 0C, Func# 0  --->  Vendor ID = 10DE   Device ID = 005D
Bus# 01, Dev# 0D, Func# 0  --->  Vendor ID = 10DE   Device ID = 005D
Bus# 01, Dev# 0E, Func# 0  --->  Vendor ID = 10DE   Device ID = 005D
Bus# 01, Dev# 0F, Func# 0  --->  Vendor ID = 10DE   Device ID = 005D
Bus# 03, Dev# 01, Func# 0  --->  Vendor ID = 10DE   Device ID = 005E
Bus# 03, Dev# 02, Func# 0  --->  Vendor ID = 10DE   Device ID = 00D3
Bus# 03, Dev# 02, Func# 1  --->  Vendor ID = 10DE   Device ID = 0052
Bus# 03, Dev# 02, Func# 2  --->  Vendor ID = 10DE   Device ID = 005F
Bus# 03, Dev# 08, Func# 0  --->  Vendor ID = 10DE   Device ID = 0054
Bus# 03, Dev# 09, Func# 0  --->  Vendor ID = 10DE   Device ID = 0055
Bus# 03, Dev# 0B, Func# 0  --->  Vendor ID = 10DE   Device ID = 0056
Bus# 03, Dev# 0C, Func# 0  --->  Vendor ID = 10DE   Device ID = 005D
Bus# 03, Dev# 0D, Func# 0  --->  Vendor ID = 10DE   Device ID = 005D
Bus# 03, Dev# 0E, Func# 0  --->  Vendor ID = 10DE   Device ID = 005D
Bus# 03, Dev# 0F, Func# 0  --->  Vendor ID = 10DE   Device ID = 005D


If I add "device pci_domain" statements before the devices, I get this
                                                                                
                                                                             
Bus# 00, Dev# 18, Func# 0  --->  Vendor ID = 1022   Device ID = 1100
Bus# 00, Dev# 18, Func# 1  --->  Vendor ID = 1022   Device ID = 1101
Bus# 00, Dev# 18, Func# 2  --->  Vendor ID = 1022   Device ID = 1102
Bus# 00, Dev# 18, Func# 3  --->  Vendor ID = 1022   Device ID = 1103
Bus# 00, Dev# 19, Func# 0  --->  Vendor ID = 1022   Device ID = 1100
Bus# 00, Dev# 19, Func# 1  --->  Vendor ID = 1022   Device ID = 1101
Bus# 00, Dev# 19, Func# 2  --->  Vendor ID = 1022   Device ID = 1102
Bus# 00, Dev# 19, Func# 3  --->  Vendor ID = 1022   Device ID = 1103
Bus# 01, Dev# 00, Func# 0  --->  Vendor ID = 10DE   Device ID = 005E
Bus# 01, Dev# 01, Func# 0  --->  Vendor ID = 10DE   Device ID = 0051
Bus# 01, Dev# 01, Func# 1  --->  Vendor ID = 10DE   Device ID = 0052
Bus# 01, Dev# 01, Func# 2  --->  Vendor ID = 10DE   Device ID = 005F
Bus# 01, Dev# 02, Func# 0  --->  Vendor ID = 10DE   Device ID = 005A
Bus# 01, Dev# 02, Func# 1  --->  Vendor ID = 10DE   Device ID = 005B
Bus# 01, Dev# 04, Func# 0  --->  Vendor ID = 10DE   Device ID = 0059
Bus# 01, Dev# 04, Func# 1  --->  Vendor ID = 10DE   Device ID = 0058
Bus# 01, Dev# 06, Func# 0  --->  Vendor ID = 10DE   Device ID = 0053
Bus# 01, Dev# 07, Func# 0  --->  Vendor ID = 10DE   Device ID = 0054
Bus# 01, Dev# 08, Func# 0  --->  Vendor ID = 10DE   Device ID = 0055
Bus# 01, Dev# 09, Func# 0  --->  Vendor ID = 10DE   Device ID = 005C
Bus# 01, Dev# 0A, Func# 0  --->  Vendor ID = 10DE   Device ID = 0056
Bus# 01, Dev# 0B, Func# 0  --->  Vendor ID = 10DE   Device ID = 005D
Bus# 01, Dev# 0C, Func# 0  --->  Vendor ID = 10DE   Device ID = 005D
Bus# 01, Dev# 0D, Func# 0  --->  Vendor ID = 10DE   Device ID = 005D
Bus# 01, Dev# 0E, Func# 0  --->  Vendor ID = 10DE   Device ID = 005D
Bus# 02, Dev# 00, Func# 0  --->  Vendor ID = 10DE   Device ID = 005E
Bus# 02, Dev# 01, Func# 0  --->  Vendor ID = 10DE   Device ID = 00D3
Bus# 02, Dev# 01, Func# 1  --->  Vendor ID = 10DE   Device ID = 0052
Bus# 02, Dev# 01, Func# 2  --->  Vendor ID = 10DE   Device ID = 005F
Bus# 02, Dev# 07, Func# 0  --->  Vendor ID = 10DE   Device ID = 0054
Bus# 02, Dev# 08, Func# 0  --->  Vendor ID = 10DE   Device ID = 0055
Bus# 02, Dev# 0A, Func# 0  --->  Vendor ID = 10DE   Device ID = 0056
Bus# 02, Dev# 0B, Func# 0  --->  Vendor ID = 10DE   Device ID = 005D
Bus# 02, Dev# 0C, Func# 0  --->  Vendor ID = 10DE   Device ID = 005D
Bus# 02, Dev# 0D, Func# 0  --->  Vendor ID = 10DE   Device ID = 005D
Bus# 02, Dev# 0E, Func# 0  --->  Vendor ID = 10DE   Device ID = 005D
                                                                                
                                                                             
So why does incoherent.c need to bump up the device numbers when the devices 
are on different busses?  There should be no device number conflicts?  No 
matter what I do, LinuxBIOS always creates new device table entries, because my 
Config.lb file has the devices on the wrong bus - 0.  The config file doesn't 
specify a device's bus and it doesn't assume a bus from the domain statement.  
How is this suppose to work?

Attached is my Config.lb file.

Thanks for the help.

Steve Kimball     

Attachment: Config.lb
Description: Config.lb

_______________________________________________
LinuxBIOS mailing list
[email protected]
http://www.openbios.org/mailman/listinfo/linuxbios

Reply via email to