OK, I did some more dtrace work.
pci_config_get16() seems to be returning 0xffff no matter what. It's returning
0xffff from offset 0xc0 from the pcie-pci bridge device, despite both PCIUtils
and pcitweak reporting that the value at that offset is 0x0008:
-bash-3.2# ./pci_config.d
dtrace: script './pci_config.d' matched 4 probes
CPU FUNCTION
3 -> pci_config_get16 pci_config_get16( handle =
0xffffff01cfc7cd40, offset = 0x0
3 <- pci_config_get16 pci_config_get16 returns 0xffff
3 -> pci_config_get16 pci_config_get16( handle =
0xffffff01cfc7cd40, offset = 0x0
3 <- pci_config_get16 pci_config_get16 returns 0xffff
3 -> pci_config_get16 pci_config_get16( handle =
0xffffff01cfc7cd40, offset = 0x2
3 <- pci_config_get16 pci_config_get16 returns 0xffff
3 -> pci_config_get16 pci_config_get16( handle =
0xffffff01cfc7cd40, offset = 0x0
3 <- pci_config_get16 pci_config_get16 returns 0xffff
3 -> pci_config_get16 pci_config_get16( handle =
0xffffff01cfc7cd40, offset = 0x6
3 <- pci_config_get16 pci_config_get16 returns 0xffff
3 -> pci_config_get16 pci_config_get16( handle =
0xffffff01cfc7cd40, offset = 0x6
3 <- pci_config_get16 pci_config_get16 returns 0xffff
3 -> pci_config_get16 pci_config_get16( handle =
0xffffff01cfc7cd40, offset = 0x6
3 <- pci_config_get16 pci_config_get16 returns 0xffff
3 -> pci_config_get16 pci_config_get16( handle =
0xffffff01cfc7cd40, offset = 0x4
3 <- pci_config_get16 pci_config_get16 returns 0xffff
3 -> pepb_check_slot_disabled pepb_check_slot_disabled(
0xffffff01cc6e0498 )
3 -> pci_config_get16 pci_config_get16( handle =
0xffffff01d21ac2c0, offset = 0xc0
3 <- pci_config_get16 pci_config_get16 returns 0xffff
3 <- pepb_check_slot_disabled pepb_check_slot_disabled returns
0x1
^C
65535 9
This message posted from opensolaris.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pci_config.d
Type: application/octet-stream
Size: 422 bytes
Desc: not available
URL:
<http://mail.opensolaris.org/pipermail/opensolaris-help/attachments/20080615/e1c140ad/attachment.obj>
-------------- next part --------------
dtrace: script './pci_config.d' matched 4 probes
CPU FUNCTION
1 -> pci_config_get16 pci_config_get16( handle =
0xffffff01d21ac400, offset = 0x0
1 <- pci_config_get16 pci_config_get16 returns 0xffff
1 -> pci_config_get16 pci_config_get16( handle =
0xffffff01d21ac400, offset = 0x0
1 <- pci_config_get16 pci_config_get16 returns 0xffff
1 -> pci_config_get16 pci_config_get16( handle =
0xffffff01d21ac400, offset = 0x2
1 <- pci_config_get16 pci_config_get16 returns 0xffff
1 -> pci_config_get16 pci_config_get16( handle =
0xffffff01d21ac400, offset = 0x0
1 <- pci_config_get16 pci_config_get16 returns 0xffff
1 -> pci_config_get16 pci_config_get16( handle =
0xffffff01d21ac400, offset = 0x6
1 <- pci_config_get16 pci_config_get16 returns 0xffff
1 -> pci_config_get16 pci_config_get16( handle =
0xffffff01d21ac400, offset = 0x6
1 <- pci_config_get16 pci_config_get16 returns 0xffff
1 -> pci_config_get16 pci_config_get16( handle =
0xffffff01d21ac400, offset = 0x6
1 <- pci_config_get16 pci_config_get16 returns 0xffff
1 -> pci_config_get16 pci_config_get16( handle =
0xffffff01d21ac400, offset = 0x4
1 <- pci_config_get16 pci_config_get16 returns 0xffff
1 -> pepb_check_slot_disabled pepb_check_slot_disabled(
0xffffff01cc6e0498 )
1 -> pci_config_get16 pci_config_get16( handle =
0xffffff01d21accc0, offset = 0xc0
1 <- pci_config_get16 pci_config_get16 returns 0xffff
1 <- pepb_check_slot_disabled pepb_check_slot_disabled returns
0x1
65535 9
-------------- next part --------------
0x0008
-------------- next part --------------
00:0a.0 Class 0604: Device 1166:0132 (rev a3)
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