Does the current LinuxBIOS code support PCI Express? LinuxBIOS contains PCI Express support code, but does it actually work?
Has anyone successfully used a PCI Express SATA controller via LinuxBIOS with an nVidia CK8-04/nForce4 chipset? Or a PCI Express video card? Or any PCI Express card or device?
I have an nVidia CK8-04 CRB mainboard.
Here's lspci output using LinuxBIOS (GNU Arch Rev 33) code, ported from the Tyan S2895 to nVidia CK8-04 CRB (with Fedora Core 3 running):
# /sbin/lspci 00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration 00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map 00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller 00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control 00:19.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration 00:19.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map 00:19.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller 00:19.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] MiscellDEaneous Control 01:00.0 Memory controller: nVidia Corporation CK804 Memory Controller (rev a3) 01:01.0 ISA bridge: nVidia Corporation: Unknown device 0051 (rev a3) 01:01.1 SMBus: nVidia Corporation CK804 SMBus (rev a2) 01:02.0 USB Controller: nVidia Corporation CK804 USB Controller (rev a2) 01:02.1 USB Controller: nVidia Corporation CK804 USB Controller (rev a3) 01:06.0 IDE interface: nVidia Corporation CK804 IDE (rev a2) 01:07.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev a3) 01:08.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev a3) 01:09.0 PCI bridge: nVidia Corporation CK804 PCI Bridge (rev a2) 01:0a.0 Ethernet controller: nVidia Corporation CK804 Ethernet Controller (rev a3) 01:0e.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3) 04:00.0 Memory controller: nVidia Corporation CK804 Memory Controller (rev a3) 04:01.0 Memory controller: nVidia Corporation CK804 Memory Controller (rev a3) 04:01.1 SMBus: nVidia Corporation CK804 SMBus (rev a2) 04:07.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev a3) 04:08.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev a3) 04:0a.0 Ethernet controller: nVidia Corporation CK804 Ethernet Controller (rev a3) 04:0e.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3) #
Here's lspci output using the original PhoenixBIOS (with FC 3 running):
# /sbin/lspci 00:00.0 Memory controller: nVidia Corporation CK804 Memory Controller (rev a3) 00:01.0 ISA bridge: nVidia Corporation: Unknown device 0051 (rev a3) 00:01.1 SMBus: nVidia Corporation CK804 SMBus (rev a2) 00:02.0 USB Controller: nVidia Corporation CK804 USB Controller (rev a2) 00:02.1 USB Controller: nVidia Corporation CK804 USB Controller (rev a3) 00:04.0 Multimedia audio controller: nVidia Corporation CK804 AC'97 Audio Controller (rev a2) 00:06.0 I interface: nVidia Corporation CK804 IDE (rev a2) 00:07.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev a3) 00:08.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev a3) 00:09.0 PCI bridge: nVidia Corporation CK804 PCI Bridge (rev a2) 00:0a.0 Bridge: nVidia Corporation CK804 Ethernet Controller (rev a3) 00:0d.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3) 00:0e.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3) 01:06.0 VGA compatible controller: S3 Inc. 86c764/765 [Trio32/64/64V+] (rev 43) 80:00.0 Memory controller: nVidia Corporation CK804 Memory Controller (rev a3) 80:01.0 Memory controller: nVidia Corporation CK804 Memory Controller (rev a3) 80:07.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev a3) 80:08.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev a3) 80:0a.0 Bridge: nVidia Corporation CK804 Ethernet Controller (rev a3) 80:0c.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3) 80:0d.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3) 80:0e.0 PCI bridge: nVidia Corporation CK804 PCIE Bridge (rev a3) #
I'm not sure about the bus numbering being correct for LinuxBIOS. Somewhere, I heard that the bus nmubers for certain devices had to be multiples of 0x40 for the CK8-04 chipset, but I can't recall which devices and why they had to be on bus 0, 40, 80, & C0. As you can see above, LinuxBIOS and PhoenixBIOS use very different bus numbers.
The onboard ATA, USB (pen drive) and Ethernet eth0 (didn't try eth1) are working.
Right now, I'd like to test PCI Express. It would be great to have a PCI Express bus analyzer and execizer, but they are very expensive. I think the cheapest and easiest way to test PCI Express is via a PCI Express SATA controller or maybe a PCI Express video card.
I'm planning to get the following PCI Express cards:
Siig SCSAE012S1 SATA II PCI Express card http://www.directron.com/scsae012s1.html
ATI Radeon X300 SE 128MB PCI Express card http://www.ati.com/products/radeonx300/specs.html
Is there anything wrong with my plan to use either of these particular PCI Express cards to test PCI Express on my nVidia CK8-04 CRB?
To test PCI Express with the video card I would need to use testbios or the integrated VGA support of LinuxBIOS? It seems that this could get too complicated for just testing that PCI Express works. The PCI Express SATA controller seems much easier. Is there an easier way to test PCI Express with the PCI Express video card such as simply reading and writing to its RAM (in other words, not using it as a video device)?
Thank you!
Sincerely,
Ken Fuchs kfuchs@winternet.com