!pci
!pci 扩展显示外围组件互连(PCI)总线的当前状态,以及附加到这些总线的任何设备。
!pci [Flags [Segment] [Bus [Device [Function [MinAddress MaxAddress]]]]]
参数
标志
指定输出级别。 可以是以下位的任何组合:
位 0(0x1)
导致详细显示。
位 1(0x2)
使显示器包括从总线 0(零)到指定 Bus 范围内的所有总线。
位 2(0x4)
使显示包含原始字节格式的信息。 如果设置了 MinAddress、MaxAddress 或标志位 0x8,则也会自动设置此位。
位 3(0x8)
使显示包含原始 DWORD 格式的信息。
位 4 (0x10)
使显示器包含无效的设备编号。 如果指定了 Device,则忽略此标志。
位 5(0x20)
使显示器包含无效的函数编号。
位 6 (0x40)
使显示包括功能。
位 7 (0x80)
使显示包含 Intel 8086 设备特定的信息。
位 8 (0x100)
使显示包含 PCI 配置空间。
位 9 (0x200)
使显示包含段信息。 当包含此位时,必须包含 Segment 参数。
位 10 (0x400)
使显示包含从段 0 到指定段范围内的所有有效段。 当包含此位时,必须包含 Segment 参数。
段
指定要显示的段数。 段编号范围从 0 到 0xFFFF。 如果省略 Segment,则会显示有关主段(段 0)的信息。 如果 Flags 包含位 10(0x400),则 Segment 指定要显示的最高有效段。
总线
指定要显示的总线。 Bus 的范围可以从 0 到 0xFF。 如果省略,将显示有关主总线(总线 0)的信息。 如果 Flags 包含位 1(0x2),则 Bus 指定要显示的最高总线编号。
设备
指定设备的插槽设备编号。 如果省略此项,则会打印有关所有设备的信息。
功能
指定设备的插槽功能编号。 如果省略此项,则会打印有关所有设备功能的所有信息。
MinAddress
指定要显示原始字节或 DWORD 的第一个地址。 该值必须介于 0 和 0xFF 之间。
MaxAddress
指定要显示原始字节或 DWORD 的最后一个地址。 该值必须介于 0 和 0xFF 之间,且不小于 MinAddress。
DLL
Kext.dll
此扩展命令只能与基于 x86 的目标计算机一起使用。
其他信息
请参阅即插即用调试,了解此扩展命令的应用和其他示例。 有关 PCI 总线的信息,请参阅 Windows 驱动程序工具包(WDK)文档。
注解
若要编辑 PCI 配置空间,请使用 !ecb、!ecd 或 !ecw。
以下示例显示所有总线及其设备的列表。 此命令执行时间较长。 调试器扫描目标系统以查找 PCI 总线时,你将在显示器底部看到一个移动计数器:
kd> !pci 2 ff
PCI Bus 0
00:0 8086:1237.02 Cmd[0106:.mb..s] Sts[2280:.....] Device Host bridge
0d:0 8086:7000.01 Cmd[0007:imb...] Sts[0280:.....] Device ISA bridge
0d:1 8086:7010.00 Cmd[0005:i.b...] Sts[0280:.....] Device IDE controller
0e:0 1011:0021.02 Cmd[0107:imb..s] Sts[0280:.....] PciBridge 0->1-1 PCI-PCI bridge
10:0 102b:0519.01 Cmd[0083:im....] Sts[0280:.....] Device VGA compatible controller
PCI Bus 1
08:0 10b7:9050.00 Cmd[0107:imb..s] Sts[0200:.....] Device Ethernet
09:0 9004:8178.00 Cmd[0117:imb..s] Sts[0280:.....] Device SCSI controller
此示例显示有关主总线上设备的详细信息。 每行开头的两位数字是设备编号;它后面的一位数字是功能编号:
kd> !pci 1 0
PCI Bus 0
00:0 8086:1237.02 Cmd[0106:.mb..s] Sts[2280:.....] Device Host bridge
cf8:80000000 IntPin:0 IntLine:0 Rom:0 cis:0 cap:0
0d:0 8086:7000.01 Cmd[0007:imb...] Sts[0280:.....] Device ISA bridge
cf8:80006800 IntPin:0 IntLine:0 Rom:0 cis:0 cap:0
0d:1 8086:7010.00 Cmd[0005:i.b...] Sts[0280:.....] Device IDE controller
cf8:80006900 IntPin:0 IntLine:0 Rom:0 cis:0 cap:0
IO[4]:fff1
0e:0 1011:0021.02 Cmd[0107:imb..s] Sts[0280:.....] PciBridge 0->1-1 PCI-PCI bridge
cf8:80007000 IntPin:0 IntLine:0 Rom:0 cap:0 2sts:2280 BCtrl:6 ISA
IO:f000-ffff Mem:fc000000-fdffffff PMem:fff00000-fffff
10:0 102b:0519.01 Cmd[0083:im....] Sts[0280:.....] Device VGA compatible controller
cf8:80008000 IntPin:1 IntLine:9 Rom:80000000 cis:0 cap:0
MEM[0]:fe800000 MPF[1]:fe000008
此示例显示有关总线 0(零)、设备 0x0D 和函数 0x1 的更详细信息,包括来自 0x00 和 0x3F 之间的地址的原始 DWORDS:
kd> !pci f 0 d 1 0 3f
PCI Bus 0
0d:1 8086:7010.00 Cmd[0005:i.b...] Sts[0280:.....] Device IDE controller
cf8:80006900 IntPin:0 IntLine:0 Rom:0 cis:0 cap:0
IO[4]:fff1
00000000: 70108086 02800005 01018000 00002000
00000010: 00000000 00000000 00000000 00000000
00000020: 0000fff1 00000000 00000000 00000000
00000030: 00000000 00000000 00000000 00000000
此示例显示第 1 段、总线 0、设备 1 的配置空间:
0: kd> !pci 301 1 0 1
PCI Configuration Space (Segment:0001 Bus:00 Device:01 Function:00)
Common Header:
00: VendorID 14e4 Broadcom Corporation
02: DeviceID 16c7
04: Command 0146 MemSpaceEn BusInitiate PERREn SERREn
06: Status 02b0 CapList 66MHzCapable FB2BCapable DEVSELTiming:1
.
.
.
5a: MsgCtrl 64BitCapable MultipleMsgEnable:0 (0x1) MultipleMsgCapable:3 (0x8)
5c: MsgAddr 2d4bff00
60: MsgAddrHi 1ae09097
64: MsData 9891
若要显示有效段上的所有设备和总线,请发出命令 !pci 602 ffff ff:
0: kd> !pci 602 ffff ff
Scanning the following PCI segments: 0 0x1
PCI Segment 0 Bus 0
01:0 14e4:16c7.10 Cmd[0146:.mb.ps] Sts[02b0:c6...] Ethernet Controller SubID:103c:1321
02:0 1000:0030.08 Cmd[0147:imb.ps] Sts[0230:c6...] LSI SCSI Controller SubID:103c:1323
02:1 1000:0030.08 Cmd[0147:imb.ps] Sts[0230:c6...] LSI SCSI Controller SubID:103c:1323
03:0 1000:0030.08 Cmd[0147:imb.ps] Sts[0230:c6...] LSI SCSI Controller SubID:103c:1323
03:1 1000:0030.08 Cmd[0147:imb.ps] Sts[0230:c6...] LSI SCSI Controller SubID:103c:1323
PCI Segment 0 Bus 0x38
01:0 14e4:1644.12 Cmd[0146:.mb.ps] Sts[02b0:c6...] Ethernet Controller SubID:10b7:1000
PCI Segment 0 Bus 0x54
00:0 103c:403b.00 Cmd[0547:imb.ps] Sts[0010:c....] HP PCI-PCI Bridge 0x54->0x55-0x55
PCI Segment 0 Bus 0x70
00:0 103c:403b.00 Cmd[0547:imb.ps] Sts[0010:c....] HP PCI-PCI Bridge 0x70->0x71-0x71
PCI Segment 0 Bus 0xa9
01:0 8086:b154.00 Cmd[0147:imb.ps] Sts[0ab0:c6.A.] Intel PCI-PCI Bridge 0xa9->0xaa-0xaa
PCI Segment 0 Bus 0xaa
04:0 1033:0035.41 Cmd[0146:.mb.ps] Sts[0210:c....] NEC USB Controller SubID:103c:1293
04:1 1033:0035.41 Cmd[0146:.mb.ps] Sts[0210:c....] NEC USB Controller SubID:103c:aa55
04:2 1033:00e0.02 Cmd[0146:.mb.ps] Sts[0210:c....] NEC USB2 Controller SubID:103c:aa55
05:0 1002:5159.00 Cmd[0187:imb..s] Sts[0290:c....] ATI VGA Compatible Controller SubID:103c:1292
PCI Segment 0 Bus 0xc6
00:0 103c:403b.00 Cmd[0547:imb.ps] Sts[0010:c....] HP PCI-PCI Bridge 0xc6->0xc7-0xc7
PCI Segment 0 Bus 0xe3
00:0 103c:403b.00 Cmd[0547:imb.ps] Sts[0010:c....] HP PCI-PCI Bridge 0xe3->0xe4-0xe4
PCI Segment 0x1 Bus 0
01:0 14e4:16c7.10 Cmd[0146:.mb.ps] Sts[02b0:c6...] Ethernet Controller SubID:103c:1321
02:0 1000:0030.08 Cmd[0147:imb.ps] Sts[0230:c6...] LSI SCSI Controller SubID:103c:1323
02:1 1000:0030.08 Cmd[0147:imb.ps] Sts[0230:c6...] LSI SCSI Controller SubID:103c:1323
03:0 1000:0030.08 Cmd[0147:imb.ps] Sts[0230:c6...] LSI SCSI Controller SubID:103c:1323
03:1 1000:0030.08 Cmd[0147:imb.ps] Sts[0230:c6...] LSI SCSI Controller SubID:103c:1323
PCI Segment 0x1 Bus 0x54
00:0 103c:403b.00 Cmd[0547:imb.ps] Sts[0010:c....] HP PCI-PCI Bridge 0x54->0x55-0x55
PCI Segment 0x1 Bus 0x55
00:0 8086:10b9.06 Cmd[0147:imb.ps] Sts[0010:c....] Intel Ethernet Controller SubID:8086:1083
PCI Segment 0x1 Bus 0x70
00:0 103c:403b.00 Cmd[0547:imb.ps] Sts[0010:c....] HP PCI-PCI Bridge 0x70->0x71-0x71
PCI Segment 0x1 Bus 0xc6
00:0 103c:403b.00 Cmd[0547:imb.ps] Sts[0010:c....] HP PCI-PCI Bridge 0xc6->0xc7-0xc7
PCI Segment 0x1 Bus 0xe3
00:0 103c:403b.00 Cmd[0547:imb.ps] Sts[0010:c....] HP PCI-PCI Bridge 0xe3->0xe4-0xe4