On Mon, Dec 10, 2007 at 10:08:30AM -0800, Steve Isaacs wrote:
For the PCI parts, LinuxBIOS sets up the static/onboard devices and scans for other devices dynamically, if I'm not mistaken. This means you do not specify PCI/AGP/PCIe extention cards in Config.lb, they're rather detected at runtime.
By "dynamic" is it meant devices for which it is possible to set the device ID (DID) in the PCI configuration space? Which means that devices for which the DID cannot be configured are considered "static"?
No, I don't think this has anything to do with the DID. But I'm not really an expert here, better listen to Ron (see other mail).
For Super I/O stuff, the (PnP) settings are hardcoded from the options in the 'chip superio/foo/bar' section of Config.lb
If I understand this then it is correct to have the Super I/O as a subsection under the southbridge?
Yes.
Do the sections in Config.lb point to code that is executed
Sort of, yes. E.g. the keywords "io" and "irq" etc. in the Super I/O section are "translated" to function calls in src/device/pnp_device.c and others. PCI entries are translated into function calls in src/device/*pci*.c.
device pci_domain 0 on chip northbridge/amd/amdk8 device pci 18.0 on # northbridge # devices on link 0 chip southbridge/broadcom/bcm21000
The document shows names being appended to these (e.g. northbridge/amd/amdk8 "mc0"). What effect does that have?
None. It's just a comment for humans to better understand the file.
device pci 6.2 on
What device is 6.2? The Super I/O section below should be a child of the ISA/LPC device usually.
6.2 is the LPC device on the southbridge.
OK, good, that's correct then.
Do you have the sch4304 datasheet? If so, it would be nice if you could add support for this chip to superiotool, see http://linuxbios.org/Superiotool
Yes I do. I might have an opportunity to do as you ask when the development schedule will allow more time.
Great, thanks.
Where does this come from? I don't see 6.3, 6.4 etc. in the lspci output.
This is part of my confusion. I installed a Phoenix BIOS to boot Linux and be able to run lspci. I have no visibility into what it's (Phoenix BIOS) design is for this board. I suspect there are several devices it hides (a feature of the chipset) because the assumption is they won't be needed for the reference board.
Hm, not sure. I usually use lspci from the vendor BIOS (Phoenix in your case) for comparison purposes. Yes, some devices may not appear (some depend on the BIOS config menu settings; e.g. the menu may allow to enable/disable an AC97 modem or not, etc), but the majority of devices (and their IDs) should be correct.
Can you also post the 'lspci' output? Your version of lspci doesn't attach the device names to the -tvnn output.
One thing that keeps tripping me is it appears that some device numbers are 0 based and others are 1 based. For example 18.0 agrees with a PCI bus scan as well as 19.0 but 6.0 in the Config shows up as 7.0 in the scan and 0.0 as 1.0. What's up with that?
Hm, good question. Someone else will have to answer it.
Here's the output you requested. I've included the output from print_pci_devices() (debug.c).
Please also post the lspci from the vendor BIOS for comparison.
Thanks, Uwe.