Поделиться через


!pci

Расширение !pci отображает текущее состояние периферийных компонентов шины взаимодействия (PCI), а также все устройства, подключенные к этим автобусам.

!pci [Flags [Segment] [Bus [Device [Function [MinAddress MaxAddress]]]]]

Параметры

Флаги
Указывает уровень выходных данных. Может быть любое сочетание следующих битов:

Bit 0 (0x1)
Приводит к подробному отображению.

Бит 1 (0x2)
Вызывает отображение для включения всех автобусов в диапазон от 0 (ноль) до указанной шины.

Бит 2 (0x4)
Приводит к включению сведений в необработанный байтовый формат. Если задано значение MinAddress, MaxAddress или пометка бита 0x8, этот бит также устанавливается автоматически.

Бит 3 (0x8)
Приводит к включению сведений в необработанный формат DWORD.

Бит 4 (0x10)
Приводит к включению недопустимых номеров устройств. Если указано устройство , этот флаг игнорируется.

Бит 5 (0x20)
Приводит к тому, что отображение включает недопустимые номера функций.

Бит 6 (0x40)
Приводит к включению возможностей дисплея.

Бит 7 (0x80)
Приводит к включению сведений об устройстве Intel 8086.

Бит 8 (0x100)
Приводит к включению пространства конфигурации PCI.

Bit 9 (0x200)
Приводит к включению сведений о сегменте. Если этот бит включен, необходимо включить параметр Segment .

Бит 10 (0x400)
Приводит к включению всех допустимых сегментов в диапазон от сегмента 0 до указанного сегмента. Если этот бит включен, необходимо включить параметр Segment .

Сегмент
Указывает число отображаемых сегментов. Номера сегментов варьируются от 0 до 0xFFFF. Если сегмент опущен, отображаются сведения о первичном сегменте (сегменте 0). Если флаги включают бит 10 (0x400), сегмент указывает самый высокий допустимый сегмент для отображения.

Автобус
Задает отображаемую шину. Шина может варьироваться от 0 до 0xFF. Если он опущен, отображаются сведения о первичной шине (шине 0). Если флаги включают бит 1 (0x2), шина указывает самый высокий номер шины для отображения.

Устройство
Указывает номер устройства слота для устройства. Если это опущено, данные обо всех устройствах печатаются.

Функция
Указывает номер функции слота для устройства. Если это опущено, все сведения обо всех функциях устройства печатаются.

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, включая необработанные DWORDS из адресов между 0x00 и 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

В этом примере отображается пространство конфигурации для сегмента 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 ffff:

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