Freigeben über


!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