[LinuxBIOS] badly initialized (?) pci bridge on the M57SLI (with irq table and mptable)

Ward Vandewege ward at gnu.org
Mon Sep 17 02:47:27 CEST 2007


Hi there,

We've had a bit of a chat on the IRC channel today about the M57SLI and how
the pci bridge does not seem to be initialized properly under LinuxBIOS. The
pci-e bridge is initialized ok - pci-e vga cards work fine; pci vga cards
do not.

Here's an lspci of the pci bridge (device 06.0), booted from the
proprietary bios:

0000:00:06.0 0604: 10de:0370 (rev a2) (prog-if 01)
  Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
  Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
  Latency: 0
  Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
  I/O behind bridge: 0000f000-00000fff
  Memory behind bridge: fb000000-fb0fffff
  Prefetchable memory behind bridge: fff00000-000fffff
  BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
  Capabilities: [b8] #0d [0000]
  Capabilities: [8c] #08 [a800]
00: de 10 70 03 07 00 b0 00 a2 01 04 06 00 00 81 00
10: 00 00 00 00 00 00 00 00 00 01 01 20 f0 00 80 02
20: 00 fb 00 fb f0 ff 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 b8 00 00 00 00 00 00 00 00 00 00 0a

and from linuxbios:

0000:00:06.0 0604: 10de:0370 (rev a2)
  Control: I/O- Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
  Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
  Latency: 0
  Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
  I/O behind bridge: 0000f000-00000fff
  Memory behind bridge: fff00000-000fffff
  Prefetchable memory behind bridge: fff00000-000fffff
  BridgeCtl: Parity+ SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-
  Capabilities: [b8] #0d [0000]
  Capabilities: [8c] #08 [a800]
00: de 10 70 03 04 01 b0 00 a2 00 04 06 00 00 81 00
10: 00 00 00 00 00 00 00 00 00 01 01 00 f0 00 80 02
20: f0 ff 00 00 f0 ff 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 b8 00 00 00 00 00 00 00 00 00 03 0a

Uwe thought that perhaps there was an issue with the IRQ or MP table. I've
run getpir and mptable while running the proprietary BIOS, and here's the
output:

  http://ward.vandewege.net/m57sli_mptable.output
  http://ward.vandewege.net/m57sli_irq_tables.c

I've also saved a proprietary and linuxbios dmesg output, since there seems
to be something funny going on with the PCI bridge detection - under
LinuxBIOS no less than 7 devices show up as PCI bridges, rather than the 2
that show up under the proprietary BIOS.

  http://ward.vandewege.net/m57sli_dmesg_linuxbios.txt
  http://ward.vandewege.net/m57sli_dmesg_proprietary.txt

Suggestions? Things to try?

Thanks,
Ward.

-- 
Ward Vandewege <ward at fsf.org>
Free Software Foundation - Senior System Administrator




More information about the coreboot mailing list