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
