On an IBM e326m, I can't access any PCIe devices with OpenSolaris build 90 (or 
Solaris 10u5, either, for that matter).  The server has no problems whatsoever 
using PCIe devices in its PCIe slot when loaded with Linux, though.

When trying to attach any PCIe device when running OpenSolaris, the attached 
pcie.d DTrace script produces the following output:

dtrace: script './pcie.d' matched 64 probes
CPU FUNCTION                                 
  1  -> pepb_probe                            pcie_pci:pepb_probe
  1  <- pepb_probe                            pcie_pci:pepb_probe
  1  -> pepb_attach                           pcie_pci:pepb_attach
  1   | pepb_attach:entry                     flags: 0, major: 17179869368, 
node_state: 0, node_name: pci1166,132, binding_name: pciexclass,060400
  1    -> pepb_check_slot_disabled            pcie_pci:pepb_check_slot_disabled
  1     | pepb_check_slot_disabled:return     pcie_pci:pepb_check_slot_disabled
  1    <- pepb_check_slot_disabled            pepb_check_slot_disabled: return 1
  1  <- pepb_attach                           pcie_pci:pepb_attach

It even produces that result when running "devfsadm -i pcie_pci".

The problem seems to be that the pcie_pci driver won't attach to the bridge 
because it thinks it's disabled.  But the very same server can use PCIe devices 
quite well under Linux.

?!?!?!

So I downloaded and ran PCIUtils 3.0.0 against the PCIe-PCI bridge that 
pcie_pci won't attach to, and got the output attached in the "lspci.txt" file.  
Note that the PCIe Link Control "disabled" flag is set to "-" (minus sign, 
meaning not set).

So, why does the Solaris kernel think the PCIe bridge is disabled?
 
 
This message posted from opensolaris.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pcie.d
Type: application/octet-stream
Size: 2831 bytes
Desc: not available
URL: 
<http://mail.opensolaris.org/pipermail/opensolaris-help/attachments/20080614/3ebf974e/attachment.obj>
-------------- next part --------------
00:0a.0 PCI bridge: Broadcom BCM5780 [HT2000] PCI-Express Bridge (rev a3) 
(prog-if 00 [Normal decode])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ 
Stepping- SERR+ FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- 
<MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Bus: primary=00, secondary=07, subordinate=07, sec-latency=64
        I/O behind bridge: 00005000-00005fff
        Memory behind bridge: e8400000-e84fffff
        Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort+ <SERR+ <PERR-
        BridgeCtl: Parity+ SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-
                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
        Capabilities: [a0] HyperTransport: MSI Mapping Enable+ Fixed-
                Mapping Address Base: 00000000fee00000
        Capabilities: [b0] Express (v1) Root Port (Slot-), MSI 00
                DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <4us, L1 
<16us
                        ExtTag- RBE- FLReset-
                DevCtl: Report errors: Correctable- Non-Fatal- Fatal+ 
Unsupported-
                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                        MaxPayload 128 bytes, MaxReadReq 128 bytes
                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- 
TransPend-
                LnkCap: Port #3, Speed 2.5GT/s, Width x8, ASPM L0s L1, Latency 
L0 <4us, L1 <16us
                        ClockPM- Suprise- LLActRep- BwNot-
                LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- Retrain- CommClk-
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s, Width x8, TrErr- Train- SlotClk- 
DLActive- BWMgmt- ABWMgmt-
                RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal+ PMEIntEna- 
CRSVisible-
                RootCap: CRSVisible-
                RootSta: PME ReqID 0000, PMEStatus- PMEPending-
00: 66 11 32 01 47 01 10 00 a3 00 04 06 00 00 01 00
10: 00 00 00 00 00 00 00 00 00 07 07 40 51 51 00 62
20: 40 e8 40 e8 f1 ff 01 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 a0 00 00 00 00 00 00 00 60 00 07 00
40: 00 00 00 00 01 00 00 00 00 00 04 20 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0
60: 01 00 08 01 00 00 00 00 00 00 00 01 00 00 00 00
70: 24 00 09 0f 84 34 00 00 00 00 01 00 00 00 00 00
80: 01 40 00 00 20 10 70 2b 72 0a 18 00 02 60 00 fb
90: 90 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 08 b0 01 a8 00 00 e0 fe 00 00 00 00 00 00 00 00
b0: 10 00 41 00 82 09 00 00 04 00 00 00 81 6c 02 03
c0: 08 00 81 00 00 00 18 00 00 00 00 00 04 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Reply via email to