免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3532 | 回复: 0
打印 上一主题 下一主题

Solaris pcitool + lspci [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-06-09 16:56 |只看该作者 |倒序浏览

                                               
http://blogimg.chinaunix.net/blog/upfile2/090609163437.tar
Solaris的一个内部工具pcitool(SUNWio-tools)最近才对外部用户开放。
http://opensolaris.org/jive/thread.jspa?messageID=373655
这个工具对外开放的主要用处是让用户对中断和CPU进行邦定以改善机器性能,当然也可以修改PCI/PCI-X/PCIe配置空间寄存器和显示基本的配置空间寄存器。不过它的显示能力和lspci -vv比起来弱了一点。Solaris可以在x86平台上安装pciutils。下载地址是
http://blogs.sun.com/shuang/resource/SUNWpciutils.tar
基于上述不足我把lspci中显示能力寄存器的代码移植到了pcitool中,这样Solaris不管在x86平台上,还是在SPARC平台上都可以显示能力寄存器了。
在Sun Fire T1000上显示如下:
# pcitool.cap.sparc -v
********** Devices in tree under /pci@780 **********
*********** Probing bus 2 ***********
********** Devices in tree under /pci@7c0 **********
*********** Probing buses 2 through 4 ***********
Bus Number: 2 Device Number: 0 Function Number: 0
PCI-PCI bridge
Vendor ID: 1166
Device ID: 0103
Command: 0147
Status: 0010
Revision ID: b3
Class Code: 060400
Cache Line Size: 10
Latency Timer: 00
Header Type: 01
BIST: 00
Base Address Register 0 (@10): 00000000
Base Address Register 1 (@14): 00000000
Expansion ROM Base Address Register (@38): 00000000
    Capabilities: [60] Express (v1) PCI/PCI-X Bridge, MSI 00
        DevCap:    MaxPayload 128 bytes, PhantFunc 0, Latency L0s
    Capabilities: [58] MSI: Mask- 64bit+ Count=1/8 Enable+
        Address: 00000003ffff0000  Data: 0001
Bus Number: 3 Device Number: 4 Function Number: 1
Vendor ID: 14e4
Device ID: 1668
Command: 0146
Status: 02b0
Revision ID: a2
Class Code: 020000
Cache Line Size: 10
Latency Timer: 40
Header Type: 80
BIST: 00
Base Address Register 0 (@10): 00400004
Base Address Register 1 (@14): 00000000
Base Address Register 2 (@18): 00120004
Base Address Register 3 (@1C): 00000000
Base Address Register 4 (@20): 00000000
Base Address Register 5 (@24): 00000000
Expansion ROM Base Address Register (@30): 00000000
    Capabilities: [40] PCI-X non-bridge device
        Command: DPERE- ERO- RBC=512 OST=1
        Status: Dev=03:04.1 64bit+ 133MHz+ SCD- USC- DC=simple DMMRBC=2048 DMOST=1 DMCRS=16 RSCEM- 266MHz- 533MHz-
    Capabilities: [48] Power Management version 2
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold-)
        Status: D0 PME-Enable- DSel=0 DScale=1 PME-
    Capabilities: [50] Vital Product Data
    Capabilities: [58] MSI: Mask- 64bit+ Count=1/8 Enable+
        Address: 00000003ffff0000  Data: 0002
Bus Number: 3 Device Number: 5 Function Number: 0
Vendor ID: 0000
Device ID: 0600
Command: 0000
Status: 0000
Revision ID: 00
Class Code: 000000
Cache Line Size: 00
Latency Timer: 00
Header Type: 00
BIST: 00
Base Address Register 0 (@10): 00000000
Base Address Register 1 (@14): 00000000
Base Address Register 2 (@18): 00000000
Base Address Register 3 (@1C): 00000000
Base Address Register 4 (@20): 00000000
Base Address Register 5 (@24): 00000000
Expansion ROM Base Address Register (@30): 00000000
Bus Number: 3 Device Number: 6 Function Number: 0
Vendor ID: 0000
Device ID: 0600
Command: 0000
Status: 0000
Revision ID: 00
Class Code: 000000
Cache Line Size: 00
Latency Timer: 00
Header Type: 00
BIST: 7f
Base Address Register 0 (@10): 00000000
Base Address Register 1 (@14): 00000000
Base Address Register 2 (@18): 00000000
Base Address Register 3 (@1C): 00000000
Base Address Register 4 (@20): 00000000
Base Address Register 5 (@24): 00000000
Expansion ROM Base Address Register (@30): 00000000
Bus Number: 3 Device Number: 8 Function Number: 0
PCI-PCI bridge
Vendor ID: 1166
Device ID: 0104
Command: 0147
Status: 0230
Revision ID: b3
Class Code: 060400
Cache Line Size: 10
Latency Timer: 40
Header Type: 01
BIST: 00
Base Address Register 0 (@10): 00000000
Base Address Register 1 (@14): 00000000
Expansion ROM Base Address Register (@38): 00000000
    Capabilities: [90] PCI-X bridge device
        Secondary Status: 64bit+ 133MHz+ SCD- USC- SCO- SRD- Freq=conv
        Status: Dev=03:08.0 64bit+ 133MHz+ SCD- USC- SCO- SRD-
        Upstream: Capacity=8 CommitmentLimit=8
        Downstream: Capacity=8 CommitmentLimit=8
Bus Number: 4 Device Number: 1 Function Number: 0
Vendor ID: 14e4
Device ID: 1648
Command: 0142
Status: 02b0
Revision ID: 10
Class Code: 020000
Cache Line Size: 10
Latency Timer: 40
Header Type: 80
BIST: 00
Base Address Register 0 (@10): 00600004
Base Address Register 1 (@14): 00000000
Base Address Register 2 (@18): 00000000
Base Address Register 3 (@1C): 00000000
Base Address Register 4 (@20): 00000000
Base Address Register 5 (@24): 00000000
Expansion ROM Base Address Register (@30): 00000000
    Capabilities: [40] PCI-X non-bridge device
        Command: DPERE- ERO- RBC=512 OST=1
        Status: Dev=04:01.0 64bit+ 133MHz+ SCD- USC- DC=simple DMMRBC=2048 DMOST=1 DMCRS=16 RSCEM- 266MHz- 533MHz-
    Capabilities: [48] Power Management version 2
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
        Status: D0 PME-Enable+ DSel=0 DScale=1 PME-
    Capabilities: [50] Vital Product Data
    Capabilities: [58] MSI: Mask- 64bit+ Count=1/8 Enable-
        Address: dcd63074c5f58ac8  Data: f04c
Bus Number: 4 Device Number: 1 Function Number: 1
Vendor ID: 14e4
Device ID: 1648
Command: 0142
Status: 02b0
Revision ID: 10
Class Code: 020000
Cache Line Size: 10
Latency Timer: 40
Header Type: 80
BIST: 00
Base Address Register 0 (@10): 00800004
Base Address Register 1 (@14): 00000000
Base Address Register 2 (@18): 00000000
Base Address Register 3 (@1C): 00000000
Base Address Register 4 (@20): 00000000
Base Address Register 5 (@24): 00000000
Expansion ROM Base Address Register (@30): 00000000
    Capabilities: [40] PCI-X non-bridge device
        Command: DPERE- ERO- RBC=512 OST=1
        Status: Dev=04:01.1 64bit+ 133MHz+ SCD- USC- DC=simple DMMRBC=2048 DMOST=1 DMCRS=16 RSCEM- 266MHz- 533MHz-
    Capabilities: [48] Power Management version 2
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
        Status: D0 PME-Enable+ DSel=0 DScale=1 PME-
    Capabilities: [50] Vital Product Data
    Capabilities: [58] MSI: Mask- 64bit+ Count=1/8 Enable-
        Address: 918e3ec001303a24  Data: 0142
Bus Number: 4 Device Number: 2 Function Number: 0
Vendor ID: 1000
Device ID: 0050
Command: 0147
Status: 0230
Revision ID: 02
Class Code: 010000
Cache Line Size: 80
Latency Timer: 40
Header Type: 00
BIST: 00
Base Address Register 0 (@10): 00000001
Base Address Register 1 (@14): 00a00004
Base Address Register 2 (@18): 00000000
Base Address Register 3 (@1C): 00a10004
Base Address Register 4 (@20): 00000000
Base Address Register 5 (@24): 00000000
Expansion ROM Base Address Register (@30): 00c00000
    Capabilities: [50] Power Management version 2
        Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
        Status: D0 PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [98] MSI: Mask- 64bit+ Count=1/1 Enable+
        Address: 00000003ffff0000  Data: 0000
    Capabilities: [68] PCI-X non-bridge device
        Command: DPERE- ERO- RBC=512 OST=16
        Status: Dev=04:02.0 64bit+ 133MHz+ SCD- USC- DC=simple DMMRBC=2048 DMOST=16 DMCRS=128 RSCEM- 266MHz- 533MHz-
    Capabilities: [b0] MSI-X: Enable- Mask- TabSize=1
        Vector table: BAR=1 offset=00002000
        PBA: BAR=1 offset=00003000
在Dell 755上显示如下:
# pcitool.cap.x86 -v
********** Devices in tree under /pci@0,0 **********
*********** Probing buses 0 through ff ***********
Bus Number: 0 Device Number: 0 Function Number: 0
Physical Address: 0xe0000000
Vendor ID: 8086
Device ID: 29b0
Command: 0146
Status: 2090
Revision ID: 02
Class Code: 060000
Cache Line Size: 00
Latency Timer: 00
Header Type: 00
BIST: 00
Base Address Register 0 (@10): 00000000
Base Address Register 1 (@14): 00000000
Base Address Register 2 (@18): 00000000
Base Address Register 3 (@1C): 00000000
Base Address Register 4 (@20): 00000000
Base Address Register 5 (@24): 00000000
Expansion ROM Base Address Register (@30): 00000000
    Capabilities: [e0] Vendor Specific Information
Bus Number: 0 Device Number: 1 Function Number: 0
Physical Address: 0xe0008000
PCI-PCI bridge
Vendor ID: 8086
Device ID: 29b1
Command: 0047
Status: 0010
Revision ID: 02
Class Code: 060400
Cache Line Size: 10
Latency Timer: 00
Header Type: 01
BIST: 00
Base Address Register 0 (@10): 00000000
Base Address Register 1 (@14): 00000000
Expansion ROM Base Address Register (@38): 00000000
    Capabilities: [88] #0d [0000]
    Capabilities: [80] Power Management version 3
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
        Status: D0 PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [90] MSI: Mask- 64bit- Count=1/1 Enable-
        Address: 00000000  Data: 0000
    Capabilities: [a0] Express (v1) Root Port (Slot+), MSI 00
        DevCap:    MaxPayload 128 bytes, PhantFunc 0, Latency L0s
Bus Number: 0 Device Number: 1a Function Number: 0
Physical Address: 0xe00d0000
Vendor ID: 8086
Device ID: 2937
Command: 0005
Status: 0290
Revision ID: 02
Class Code: 0c0300
Cache Line Size: 00
Latency Timer: 00
Header Type: 80
BIST: 00
Base Address Register 0 (@10): 00000000
Base Address Register 1 (@14): 00000000
Base Address Register 2 (@18): 00000000
Base Address Register 3 (@1C): 00000000
Base Address Register 4 (@20): 0000ff21
Base Address Register 5 (@24): 00000000
Expansion ROM Base Address Register (@30): 00000000
    Capabilities: [50] PCIe advanced features
Bus Number: 0 Device Number: 1a Function Number: 1
Physical Address: 0xe00d1000
Vendor ID: 8086
Device ID: 2938
Command: 0005
Status: 0290
Revision ID: 02
Class Code: 0c0300
Cache Line Size: 00
Latency Timer: 00
Header Type: 00
BIST: 00
Base Address Register 0 (@10): 00000000
Base Address Register 1 (@14): 00000000
Base Address Register 2 (@18): 00000000
Base Address Register 3 (@1C): 00000000
Base Address Register 4 (@20): 0000ff01
Base Address Register 5 (@24): 00000000
Expansion ROM Base Address Register (@30): 00000000
    Capabilities: [50] PCIe advanced features
Bus Number: 0 Device Number: 1a Function Number: 7
Physical Address: 0xe00d7000
Vendor ID: 8086
Device ID: 293c
Command: 0146
Status: 0290
Revision ID: 02
Class Code: 0c0320
Cache Line Size: 00
Latency Timer: 00
Header Type: 00
BIST: 00
Base Address Register 0 (@10): fe9d9c00
Base Address Register 1 (@14): 00000000
Base Address Register 2 (@18): 00000000
Base Address Register 3 (@1C): 00000000
Base Address Register 4 (@20): 00000000
Base Address Register 5 (@24): 00000000
Expansion ROM Base Address Register (@30): 00000000
    Capabilities: [50] Power Management version 2
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
        Status: D0 PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [58] Debug port: BAR=1 offset=00a0
    Capabilities: [98] PCIe advanced features
Bus Number: 0 Device Number: 1b Function Number: 0
Physical Address: 0xe00d8000
Vendor ID: 8086
Device ID: 293e
Command: 0046
Status: 0010
Revision ID: 02
Class Code: 040300
Cache Line Size: 10
Latency Timer: 00
Header Type: 00
BIST: 00
Base Address Register 0 (@10): fe9dc004
Base Address Register 1 (@14): 00000000
Base Address Register 2 (@18): 00000000
Base Address Register 3 (@1C): 00000000
Base Address Register 4 (@20): 00000000
Base Address Register 5 (@24): 00000000
Expansion ROM Base Address Register (@30): 00000000
    Capabilities: [50] Power Management version 2
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
        Status: D0 PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [60] MSI: Mask- 64bit+ Count=1/1 Enable-
        Address: 0000000000000000  Data: 0000
    Capabilities: [70] Express (v1) Root Complex Integrated Endpoint, MSI 00
        DevCap:    MaxPayload 128 bytes, PhantFunc 0, Latency L0s
Bus Number: 0 Device Number: 1d Function Number: 1
Physical Address: 0xe00e9000
Vendor ID: 8086
Device ID: 2935
Command: 0005
Status: 0290
Revision ID: 02
Class Code: 0c0300
Cache Line Size: 00
Latency Timer: 00
Header Type: 00
BIST: 00
Base Address Register 0 (@10): 00000000
Base Address Register 1 (@14): 00000000
Base Address Register 2 (@18): 00000000
Base Address Register 3 (@1C): 00000000
Base Address Register 4 (@20): 0000ff61
Base Address Register 5 (@24): 00000000
Expansion ROM Base Address Register (@30): 00000000
    Capabilities: [50] PCIe advanced features
Bus Number: 0 Device Number: 1d Function Number: 2
Physical Address: 0xe00ea000
Vendor ID: 8086
Device ID: 2936
Command: 0005
Status: 0290
Revision ID: 02
Class Code: 0c0300
Cache Line Size: 00
Latency Timer: 00
Header Type: 00
BIST: 00
Base Address Register 0 (@10): 00000000
Base Address Register 1 (@14): 00000000
Base Address Register 2 (@18): 00000000
Base Address Register 3 (@1C): 00000000
Base Address Register 4 (@20): 0000ff41
Base Address Register 5 (@24): 00000000
Expansion ROM Base Address Register (@30): 00000000
    Capabilities: [50] PCIe advanced features
Bus Number: 0 Device Number: 1d Function Number: 7
Physical Address: 0xe00ef000
Vendor ID: 8086
Device ID: 293a
Command: 0146
Status: 0290
Revision ID: 02
Class Code: 0c0320
Cache Line Size: 00
Latency Timer: 00
Header Type: 00
BIST: 00
Base Address Register 0 (@10): ff980800
Base Address Register 1 (@14): 00000000
Base Address Register 2 (@18): 00000000
Base Address Register 3 (@1C): 00000000
Base Address Register 4 (@20): 00000000
Base Address Register 5 (@24): 00000000
Expansion ROM Base Address Register (@30): 00000000
    Capabilities: [50] Power Management version 2
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
        Status: D0 PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [58] Debug port: BAR=1 offset=00a0
    Capabilities: [98] PCIe advanced features
Bus Number: 0 Device Number: 1e Function Number: 0
Physical Address: 0xe00f0000
PCI-PCI bridge
Vendor ID: 8086
Device ID: 244e
Command: 0147
Status: 0010
Revision ID: 92
Class Code: 060401
Cache Line Size: 00
Latency Timer: 00
Header Type: 01
BIST: 00
Base Address Register 0 (@10): 00000000
Base Address Register 1 (@14): 00000000
Expansion ROM Base Address Register (@38): 00000000
    Capabilities: [50] #0d [0000]
Bus Number: 0 Device Number: 1f Function Number: 0
Physical Address: 0xe00f8000
Vendor ID: 8086
Device ID: 2914
Command: 0107
Status: 0210
Revision ID: 02
Class Code: 060100
Cache Line Size: 00
Latency Timer: 00
Header Type: 80
BIST: 00
Base Address Register 0 (@10): 00000000
Base Address Register 1 (@14): 00000000
Base Address Register 2 (@18): 00000000
Base Address Register 3 (@1C): 00000000
Base Address Register 4 (@20): 00000000
Base Address Register 5 (@24): 00000000
Expansion ROM Base Address Register (@30): 00000000
    Capabilities: [e0] Vendor Specific Information
Bus Number: 0 Device Number: 1f Function Number: 2
Physical Address: 0xe00fa000
Vendor ID: 8086
Device ID: 2922
Command: 0047
Status: 02b0
Revision ID: 02
Class Code: 010601
Cache Line Size: 00
Latency Timer: 00
Header Type: 00
BIST: 00
Base Address Register 0 (@10): 0000fe01
Base Address Register 1 (@14): 0000fe11
Base Address Register 2 (@18): 0000fe21
Base Address Register 3 (@1C): 0000fe31
Base Address Register 4 (@20): 0000fec1
Base Address Register 5 (@24): ff970000
Expansion ROM Base Address Register (@30): 00000000
    Capabilities: [80] MSI: Mask- 64bit- Count=1/16 Enable+
        Address: fee00000  Data: 0040
    Capabilities: [70] Power Management version 3
        Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold-)
        Status: D0 PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [a8] SATA HBA
    Capabilities: [b0] PCIe advanced features
Bus Number: 0 Device Number: 1f Function Number: 3
Physical Address: 0xe00fb000
Vendor ID: 8086
Device ID: 2930
Command: 0103
Status: 0280
Revision ID: 02
Class Code: 0c0500
Cache Line Size: 00
Latency Timer: 00
Header Type: 00
BIST: 00
Base Address Register 0 (@10): fe9d9b04
Base Address Register 1 (@14): 00000000
Base Address Register 2 (@18): 00000000
Base Address Register 3 (@1C): 00000000
Base Address Register 4 (@20): 0000ece1
Base Address Register 5 (@24): 00000000
Expansion ROM Base Address Register (@30): 00000000
Bus Number: 1 Device Number: 0 Function Number: 0
Physical Address: 0xe0100000
Vendor ID: 8086
Device ID: 4229
Command: 0046
Status: 0010
Revision ID: 61
Class Code: 028000
Cache Line Size: 10
Latency Timer: 00
Header Type: 00
BIST: 00
Base Address Register 0 (@10): fe8fe004
Base Address Register 1 (@14): 00000000
Base Address Register 2 (@18): 00000000
Base Address Register 3 (@1C): 00000000
Base Address Register 4 (@20): 00000000
Base Address Register 5 (@24): 00000000
Expansion ROM Base Address Register (@30): 00000000
    Capabilities: [c8] Power Management version 3
        Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
        Status: D0 PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [d0] MSI: Mask- 64bit+ Count=1/1 Enable-
        Address: 0000000000000000  Data: 0000
    Capabilities: [e0] Express (v1) Endpoint, MSI 00
        DevCap:    MaxPayload 128 bytes, PhantFunc 0, Latency L0s <512ns, L1 unlimited
            ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
        DevCtl:    Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported-
            RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
            MaxPayload 128 bytes, MaxReadReq 512 bytes
        DevSta:    CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
        LnkCap:    Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <128ns, L1 <64us
            ClockPM+ Suprise- LLActRep- BwNot-
        LnkCtl:    ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
            ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
        LnkSta:    Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
Bus Number: 3 Device Number: 2 Function Number: 0
Physical Address: 0xe0310000
Vendor ID: 10b7
Device ID: 9055
Command: 0007
Status: 0210
Revision ID: 30
Class Code: 020000
Cache Line Size: 10
Latency Timer: 40
Header Type: 00
BIST: 00
Base Address Register 0 (@10): 0000dc81
Base Address Register 1 (@14): fe5fff80
Base Address Register 2 (@18): 00000000
Base Address Register 3 (@1C): 00000000
Base Address Register 4 (@20): 00000000
Base Address Register 5 (@24): 00000000
Expansion ROM Base Address Register (@30): fe600000
    Capabilities: [dc] Power Management version 1
        Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold-)
        Status: D0 PME-Enable- DSel=0 DScale=0 PME-
               
               
               
               
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/23177/showart_1959949.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP