!pci
La extensión !pci muestra el estado actual de los buses de interconexión de componente periférico (PCI), así como los dispositivos conectados a esos buses.
!pci [Flags [Segment] [Bus [Device [Function [MinAddress MaxAddress]]]]]
Parámetros
Banderas
Especifica el nivel de salida. Puede ser cualquier combinación de los siguientes bits:
Bit 0 (0x1)
Genera una visualización detallada.
Bit 1 (0x2)
Hace que la pantalla incluya todos los buses en el intervalo desde el bus 0 (cero) al bus especificado.
Bit 2 (0x4)
Hace que la pantalla incluya información en formato de bytes sin procesar. Si minAddress, MaxAddress o bit de marca 0x8 están establecidos, este bit también se establece automáticamente.
Bit 3 (0x8)
Hace que la pantalla incluya información en formato DWORD sin procesar.
Bit 4 (0x10)
Hace que la pantalla incluya números de dispositivo no válidos. Si Device está establecido, se omite esta marca.
Bit 5 (0x20)
Hace que la pantalla incluya números de función no válidos.
Bit 6 (0x40)
Hace que la pantalla incluya capacidades.
Bit 7 (0x80)
Hace que la pantalla incluya información específica del dispositivo Intel 8086.
Bit 8 (0x100)
Hace que la pantalla incluya el espacio de configuración PCI.
Bit 9 (0x200)
Hace que la visualización incluya información de segmento. Cuando se incluye este bit, se debe incluir el parámetro Segment.
Bit 10 (0x400)
Hace que la pantalla incluya todos los segmentos válidos en el intervalo del segmento 0 al segmento especificado. Cuando se incluye este bit, se debe incluir el parámetro Segment.
Segmento
Especifica el número de segmento que se va a mostrar. Los números de segmento van de 0 a 0xFFFF. Si Segment se omite, se muestra información sobre el segmento principal (segmento 0). Si Flags incluye el bit 10 (0x400), Segment especifica el segmento válido más alto que se va a mostrar.
Autobús
Especifica el bus que se va a mostrar. Bus puede oscilar entre 0 y 0xFF. Si se omite, se muestra información sobre el bus principal (bus 0). Si Flags incluye el bit 1 (0x2), Bus especifica el número de bus más alto que se va a mostrar.
Dispositivo
Especifica el número de dispositivo de ranura para el dispositivo. Si se omite, se imprime información sobre todos los dispositivos.
Función
Especifica el número de función de ranura para el dispositivo. Si se omite, se imprime toda la información sobre todas las funciones del dispositivo.
MinAddress
Especifica la primera dirección a partir de la cual se mostrarán bytes sin procesar o DWORD. Debe estar entre 0 y 0xFF.
MaxAddress
Especifica la última dirección a partir de la cual se mostrarán bytes sin procesar o DWORD. Debe estar comprendido entre 0 y 0xFF, y no ser inferior a MinAddress.
Archivo DLL
Kext.dll
Este comando de extensión solo se puede usar con un equipo de destino basado en x86.
Información adicional
Consulte Depuración de Plug and Play para ver aplicaciones de este comando de extensión y algunos ejemplos adicionales. Para obtener información sobre los buses PCI, consulte la documentación del Kit de controladores de Windows (WDK).
Comentarios
Para editar el espacio de configuración de PCI, use !ecb, !ecd, o !ecw.
En el ejemplo siguiente se muestra una lista de todos los buses y sus dispositivos. Este comando tardará mucho tiempo en ejecutarse. Verá un contador en movimiento en la parte inferior de la pantalla mientras el depurador explora el sistema de destino en busca de buses 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
En este ejemplo se muestra información detallada sobre los dispositivos del bus principal. El número de dos cifras que aparece al principio de cada línea es el número de dispositivo; el número de una cifra que le sigue es el número de función:
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
Este ejemplo muestra información aún más detallada sobre el bus 0 (cero), el dispositivo 0x0D y la función 0x1, incluidos los DWORDS sin procesar de direcciones entre 0x00 y 0x3F:
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
En este ejemplo se muestra el espacio de configuración del segmento 1, bus 0, dispositivo 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
Para mostrar todos los dispositivos y buses en segmentos válidos, emita el comando !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