Vendor ID
Регистры Vendor ID и Device ID идентифицируют устройство и обычно называются PCI ID. Шестнадцатиразрядный регистр Vendor ID выдаётся организацией PCI SIG. Шестнадцатиразрядный регистр Device ID назначается изготовителем устройства. Существует проект создания базы данных всех известных значений регистров Vendor ID и Device ID. (Смотри #Ссылки.)
Первые 64 байта конфигурационного адресного пространства (в соответствии с PCI Local Bus Specification 2.2):
| Адрес | 31 . 24 | 23 . 16 | 15 . 8 | 7 . 0 |
|---|---|---|---|---|
| 0x00 | DeviceID | VendorID | ||
| 0x04 | Status | Command | ||
| 0x08 | Class Code | Revision ID | ||
| 0x0C | BIST | Header Type | Latency Timer | Cache Line Size |
| 0x10 | Base Address Register 0 | |||
| 0x14 | Base Address Register 1 | |||
| 0x18 | Base Address Register 2 | |||
| 0x1C | Base Address Register 3 | |||
| 0x20 | Base Address Register 4 | |||
| 0x24 | Base Address Register 5 | |||
| 0x28 | Cardbus CIS pointer | |||
| 0x2C | SubsystemID | Subsystem Vendor ID | ||
| 0x30 | Expansion ROM Base Address | |||
| 0x34 | Reserved | Capabilities pointer |
||
| 0x38 | Reserved | |||
| 0x3C | Max_Lat | Min_Gnt | Interrupt Pin | Interrupt Line |
Регистры DeviceID, VendorID, Status, Command, Class Code, Revision ID, Header Type являются обязательными для всех PCI-устройств (для многих типов устройств обязательными являются также регистры Subsystem ID и Subsystem Vendor ID).
Все остальные регистры являются опциональными.
Автоматическая инициализация аппаратуры с помощью конфигурационного пространства
Для того, чтобы обращаться к устройству через адресное пространство памяти или ввода-вывода, системное программное обеспечение или ОС программирует базовые адресные регистры (англ. Base Address Registers , также называемые BAR’ами), посылая конфигурационные команды PCI-контроллеру. В начале загрузки системы все PCI устройства находятся в неактивном состоянии, им не назначены адреса, по которым драйвера устройств могут взаимодействовать с ними. Либо ISA, базовые адреса устройств, подключамых к которой, приходилось настраивать перемычками или переключателями).
Любое PCI-устройство, не являющееся мостом (см. PCI-to-PCI Bridge Architecture Specification. Revision 1.1) может иметь до шести BAR’ов, каждый из которых отвечает за определённый диапазон адресов в адресном пространстве памяти или ввода-вывода. Кроме того, устройство может иметь firmware).
Доступ к PCI через порты I/O
Для работы с шиной PCI в PC-AT и совместимых машинах выделено два основных порта.
0CF8h -W порт адреса Address
0CFCh RW порт данных Data
Оба порта являются 32 битными.
Порт адреса представляет из себя следующую 32 битную структуру
+—+———+——-+———-+———+—————+-+-+
|31 |30 24|23 16|15 11|10 8|7 2|1|0|
+—+———+——-+———-+———+—————+-+-+
| с | резерв |шина |устройство| функция|Индекс регистра|0|0|
+—+———+——-+———-+———+—————+-+-+
Порт адреса задает шину, устройства, и адрес регистра в конфигурационном пространстве устройства. Грубо говоря, устройство — это физически присутствующее устройство. А функция — это логическое устройство.
С — флаг доступа к устройству.
Первые два бита в порту адреса всегда 0.
По окончании работы с устройством следует сбросить адрес в 0.
Если в ответ на запрос нулевого регистра возвращается 0FFFFh, то устройства не существует. Vendor ID (ID производителя) — для Intel это 8086h, но не может принимать значение 0FFFFh.
Device ID (ID устройства) — принимает различные значения
Revision ID (ID модификации) — обозначает номер модификации устройства, назначается производителем.
Base Class Code — базовый класс, сокращенно BCC.
Sub Class Code — подкласс, сокращенно SCC.
Programming Interface — интерфейс, сокращенно PI.
Header Type (тип заголовка) — если бит 7 равен 1, то устройство содержит несколько функций.
Если бит 6 равен 0, то заголовок стандартный. Стандартные заголовки:
00 — стандартный смотри выше.
01 — стандартный для моста PCI-to-PCI
02 — стандартный для моста CardBus.
См. также
Ссылки
- The Linux PCI ID Repository, база данных ID PCI-устройств
- PCI Vendor and Device Lists
Wikimedia Foundation . 2010 .
Vendor id что это
Разбираемся с драйверами.
Урок 1. Установка драйверов. Возможные нештатные ситуации.
|
| Главная | Продукция | Статьи | Тесты | FAQ | Downloads | Форум | Ссылки |
| Логотипы, торговые марки и прочие зарегистрированные знаки принадлежат компании ATI Technologies Copyright © 2001 Организация по стандартизации USB против Open Source
Одной из главных проблем для любителей и мелких компаний, занимающихся продажей «железок» с USB-портом, сегодня является USB Implementers Forum (USB-IF) — организация, занимающаяся разработкой спецификаций на шину USB; в ней принимают участие такие компании, как Intel, Microsoft и Hewlett-Packard. Суть этой проблемы в следующем. Каждое продающееся устройство с USB требует сертификации на соответствие требованиям USB, для чего ему необходимо иметь ID вендора (vendor ID, VID) и ID изделия (product ID, PID). Крупные игроки любительского рынка — вроде Sparkfun или Adafruit — давно заплатили USB-IF за получение USB VID; вся беда в том, что и любому умельцу, смастерившему в своем гараже устройство с USB и надеющемуся продавать его — пусть и продастся от силы десяток-сотня штук — тоже приходится оплачивать его получение. В качестве решения этой проблемы компания Arachnid Labs предложила интересную мысль: поскольку отдельные производители USB-устройств (вроде Microchip или FTDI) раздают некоторое количество своих USB PID бесплатно, можно было бы создать собственную некоммерческую организацию, которая бы купила один VID и раздавала PID своим участникам, занимающимся разработкой открытого аппаратного обеспечения. В результате, множество устройств, изготовленных любителями, получили бы статус USB-совместимых. Но подобная идея весьма не понравилась VTM Group — компании, занимающейся управлением, пиаром и юридической стороной работы USB-IF. Всю переписку можно прочитать на сайте Arachnid Labs, предложения о создании VID для open source даже не дошли до участников USB-IF, непосредственно занимающихся выдачей ID, а вот компания VTM Group отреагировала следующей не самой приятной просьбой:
У сообщества остались способы обхода решения VTM Group — например, продолжать «прятаться» за USB VID 0xF055 — но отсутствие открытых PID заставляет Arachnid Labs искать новые способы для их легального получения — теперь они собираются пытаться выйти непосредственно на людей из HP, Intel, и Microsoft, работающих в USB-IF. Регистрация Vendor IDДобрый день всем, есть ли у кого опыт разработки pci девайсов и регистрировался ли кто нибудь в PCI-SIG с получением Vendor-Id, очень много юридических вопросов как это сделать, как заплатить 4000$, как закрыть актами результат в 4 цифры. Напишите если знаете ссылки на статьи 🙁 https://m.e1.ru/f/go/29/422693/422693/ Привет. Никто не ответит тут, мы, конечно, крутые перцы, но ремесленники же. Контакт могу дать, но мой и дешевый и медленный одновременно. Регистрация патента от 100 т.р. примерно, займет полгода не меньше. Явно есть быстрее. Потом с того же дивана посоветую в Линедине или на Стаковерфло или на других аналогах искать контакт сотрудника корпорации, которая близка к теме. Не обязательно менеджера, просто поболтать, обсудить перспективы. А дальше я уже не бывал. |
