!pci
Die Erweiterung !pci zeigt den aktuellen Status der PCI-Busse (Peripheral Component Interconnect) sowie alle an diese Busse angeschlossenen Geräte an.
!pci [Flags [Segment] [Bus [Device [Function [MinAddress MaxAddress]]]]]
Parameter
Flaggen
Legt den Grad der Ausgabe fest. Kann eine beliebige Kombination der folgenden Bits sein:
Bit 0 (0x1)
Verursacht eine ausführliche Anzeige.
Bit 1 (0x2)
Bewirkt, dass die Anzeige alle Busse im Bereich von Bus 0 (Null) bis zum angegebenen Bus umfasst.
Bit 2 (0x4)
Bewirkt, dass die Anzeige Informationen im Rohbyte-Format enthält. Wenn MinAddress, MaxAddress oder Flag-Bit 0x8 gesetzt ist, wird dieses Bit automatisch ebenfalls gesetzt.
Bit 3 (0x8)
Bewirkt, dass die Anzeige Informationen im Raw-DWORD-Format enthält.
Bit 4 (0x10)
Bewirkt, dass die Anzeige ungültige Gerätenummern enthält. Wenn Device angegeben ist, wird dieses Kennzeichen ignoriert.
Bit 5 (0x20)
Bewirkt, dass die Anzeige ungültige Funktionsnummern enthält.
Bit 6 (0x40)
Bewirkt, dass die Anzeige Fähigkeiten enthält.
Bit 7 (0x80)
Bewirkt, dass die Anzeige gerätespezifische Intel 8086-Informationen enthält.
Bit 8 (0x100)
Bewirkt, dass die Anzeige den PCI-Konfigurationsbereich enthält.
Bit 9 (0x200)
Bewirkt, dass die Anzeige Segmentinformationen enthält. Wenn dieses Bit enthalten ist, muss der Parameter Segment enthalten sein.
Bit 10 (0x400)
Bewirkt, dass die Anzeige alle gültigen Segmente im Bereich von Segment 0 bis zum angegebenen Segment umfasst. Wenn dieses Bit enthalten ist, muss der Parameter Segment enthalten sein.
Segment
Gibt die Nummer des anzuzeigenden Segments an. Die Segmentnummern reichen von 0 bis 0xFFFF. Wenn Segment weggelassen wird, werden Informationen über das primäre Segment (Segment 0) angezeigt. Wenn Flags Bit 10 (0x400) enthält, gibt Segment das höchste gültige Segment an, das angezeigt werden soll.
Bus
Gibt an, welcher Bus angezeigt werden soll. Bus kann von 0 bis 0xFF reichen. Wird sie weggelassen, werden Informationen über den primären Bus (Bus 0) angezeigt. Wenn Flags das Bit 1 (0x2) enthält, gibt Bus die höchste Busnummer an, die angezeigt werden soll.
Gerät
Gibt die Slot-Gerätenummer für das Gerät an. Wird diese Angabe weggelassen, werden Informationen über alle Geräte gedruckt.
Funktion
Gibt die Slot-Funktionsnummer für das Gerät an. Wird dies weggelassen, werden alle Informationen über alle Gerätefunktionen gedruckt.
MinAddress
Gibt die erste Adresse an, ab der Rohbytes oder DWORDs angezeigt werden sollen. Dieser Wert muss zwischen 0 und 0xFF liegen.
MaxAddress
Gibt die letzte Adresse an, ab der Rohbytes oder DWORDs angezeigt werden sollen. Diese muss zwischen 0 und 0xFF liegen und darf nicht kleiner sein als MinAddress.
DLL
Kext.dll
Dieser Erweiterungsbefehl kann nur mit einem x86-basierten Zielcomputer verwendet werden.
Zusätzliche Informationen
Siehe Plug and Play Debugging für Anwendungen dieses Erweiterungsbefehls und zusätzliche Beispiele. Informationen über PCI-Busse finden Sie in der Dokumentation zum Windows Driver Kit (WDK).
Hinweise
Um den PCI-Konfigurationsbereich zu bearbeiten, verwenden Sie !ecb, !ecd oder !ecw.
Im folgenden Beispiel wird eine Liste aller Busse und ihrer Geräte angezeigt. Die Ausführung dieses Befehls wird lange dauern. Während der Debugger das Zielsystem nach PCI-Bussen durchsucht, sehen Sie am unteren Rand der Anzeige einen laufenden Zähler:
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
In diesem Beispiel werden ausführliche Informationen über die Geräte auf dem primären Bus angezeigt. Die zweistellige Zahl am Anfang jeder Zeile ist die Gerätenummer; die darauf folgende einstellige Zahl ist die Funktionsnummer:
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
Dieses Beispiel zeigt noch detailliertere Informationen über Bus 0 (Null), Gerät 0x0D und Funktion 0x1, einschließlich der rohen DWORDS von Adressen zwischen 0x00 und 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
In diesem Beispiel wird der Konfigurationsbereich für Segment 1, Bus 0, Gerät 1 angezeigt:
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
Um alle Geräte und Busse auf gültigen Segmenten anzuzeigen, geben Sie den Befehl !pci 602 ffff ff ein:
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