Программирование драйверов Windows


Автоматическое распознавание и конфигурирование - часть 2


Для подкласса USB значение ProgIF, равное 00, описывает USB контроллер, соответствующий спецификации Universal host Controller. Значению 10 (hex) соответствует контроллер спецификации Open Host Controller, а значение FE (hex) описывает USB устройство (не являющееся хост-контроллером).

Байты конфигурационного пространства
3

2

1 0  
Device ID Vendor ID 00
Status Register Command Register 01
Class Code Revision ID 02
BIST Header Type Lat Timer CL Size 03
Base Address 0 04
Base Address 1 05
Base Address 2 06
Base Address 3 07
Base Address 4 08
Base Address 6 09
Card Bus CIS Pointer 0A
Subsystem ID Subsystem Vendor ID 0B
Expansion ROM Base Address 0C
Зарезервировано Cap.Pointer 0D
Зарезервировано 0E
Max_Lat Min_Gnt int Pin int Line 0F
Таблица 5.4.


Заголовок конфигурационного пространства одной функции устройства PCI

Регистр BIST (Built-In-Self-Test) отражает способность устройства к проведению операции самотестирования. Единица в старшем (седьмом) бите этого регистра означает, что данная функция устройства может выполнять операцию самотестирования. Шестой бит, установленный в 1, означает проведение тестирования, причем на эту операцию функции устройства дается не более 2-х секунд. В младших четырех битах содержится код ошибки либо 0, при удачном завершении.

Регистры Base Address Register 5..0 содержат адреса портов ввода/вывода (или диапазонов отведенной памяти) для доступа к внутренней памяти данной PCI функции.

Отображать все 256 адресов конфигурационного пространства в памяти или пространстве ввода/вывода достаточно расточительно, поэтому операционная система дает возможность доступа к конфигурационному пространству путем обращения к следующим двум регистрам (адреса которых устанавливаются операционной системой):

  • Конфигурационный адресный регистр. Этот регистр определяет номер шины (bus number), устройство, функцию и адрес доступа к данным в конфигурационном пространстве.



  • Начало  Назад  Вперед