voffka 0 30 ноября, 2006 Опубликовано 30 ноября, 2006 · Жалоба Как используются регистры I/O, Memory, Prefetchable Memory Base/Limit? Используются ли они вообще в PCI-Express Root Complex? И как организовать адресное пространство для такого устройства? Заранее спасибо))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xyzzy 0 1 декабря, 2006 Опубликовано 1 декабря, 2006 · Жалоба В обычном PCI (про экспресс пока не в курсе) BAR регистры бриджа программируются так, чтобы они покрывали адресные пространства всех устройств на другой стороне бриджа. Для иллюстрации, если устройства X,Y,Z на вторичной шине живут по адресам 0x80000000, 0x80100000 и 0x80200000 и каждое требует 1М адресного пространства, то бридж должен быть сконфигурурован так, чтобы отвечал не запросы до адресам всех устройств на вторичной шине. В данном случае 0x80000000..0x802fffff. [host] | ----------------- | [B] | ----------------- | | | [X] [Y] [Z] Это все можно представить так, что для всех устройств по одну сторону бриджа бридж выглядит как одно устройства. Если кто-нибудь к нему обращается, то бридж начинает соответствующую транзакцию на другой стороне. Соответственно, чтобы с одной стороны запросы могли добраться до всех устройств на другой стороне, бридж должен отвечать на запросы с адресами любого из устройств на вторичной шине. Эта процедура применяется ко всем типам адресов - I/O, prefetchable и non-prefetchable memory. Если интересны детали, можете заглянуть в исходники NetBSD - там все довольно наглядно. http://cvsweb.netbsd.org/bsdweb.cgi/src/sy...x-cvsweb-markup Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Link 0 2 декабря, 2006 Опубликовано 2 декабря, 2006 · Жалоба У Root Complex конфигурационные регистры относятся к RCRB. В базовом адресе значения Bus Number и Device Number как правило равны '0'. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
voffka 0 3 декабря, 2006 Опубликовано 3 декабря, 2006 · Жалоба " В базовом адресе значения Bus Number и Device Number как правило равны '0'." Что значит в базовом адресе? Не понял, объясните плз)) И еще вопрос: Стандартные PCI Capabilities (MSI, Power management) где должны расролагаться (в конфигурационном пространстве Host Bridge или Root Port (PCI-PCI Bridge)) ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Link 0 5 декабря, 2006 Опубликовано 5 декабря, 2006 (изменено) · Жалоба RCRB -Конфигурационные регистры Root complex'а опциональны (можно не реализовывать), как выполнить доступ к ним - на усмотрение разработчика. Самому Host/PCI bridge обычно присваивается Bus number = '0', device number = '0', а PCI/PCI bridge (в Root Complex'е) - Bus number = '0' , device number = '1'. > Стандартные PCI Capabilities (MSI, Power management) где должны расролагаться (в конфигурационном > пространстве Host Bridge или Root Port (PCI-PCI Bridge)) ? Если RCRB реализуется, то и там и там. .. вроде так... Изменено 5 декабря, 2006 пользователем Link Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
voffka 0 5 декабря, 2006 Опубликовано 5 декабря, 2006 · Жалоба > Стандартные PCI Capabilities (MSI, Power management) где должны расролагаться (в конфигурационном > пространстве Host Bridge или Root Port (PCI-PCI Bridge)) ? Если RCRB реализуется, то и там и там. .. вроде так... Нет,в RCRB могут находиться только PCI Express Enhanced Capabilities и implementation specific - регистры (PCI Express Base Specification 1.0a, p315): "These registers are used in a manner similar to configuration space and can include PCI Express extended capabilities and other implementation specific registers that apply to the Root Complex." Насчет MSI я разобрался - у нас свой механизм сообщения прерываний, через in-band сообщения по системной шине.Т.е. MSI мне реализовывать не нужно. А вот насчет PCI Power Management Capability я думаю,что ее необходимо реализовать только в регистрах Root Port'a. Как мне кажется, нет смысла реализовывать PM Capabilities для "виртуальной" шины (Host Bridge - PCI-PCI Bridge). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Link 0 7 декабря, 2006 Опубликовано 7 декабря, 2006 · Жалоба Фраза "These registers are used in a manner similar to configuration space and can include PCI Express extended capabilities and other implementation specific registers that apply to the Root Complex." означает что RCRB используются аналогично регистрам конфигурационного пространства и могут содержать PCI Express extended capabilities и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
voffka 0 7 декабря, 2006 Опубликовано 7 декабря, 2006 · Жалоба Фраза "These registers are used in a manner similar to configuration space and can include PCI Express extended capabilities and other implementation specific registers that apply to the Root Complex." означает что RCRB используются аналогично регистрам конфигурационного пространства и могут содержать PCI Express extended capabilities и т.д. 1. Implementation Specific Registers - внутренние регистры устройства, в котрых прописываются различные опции (специфичные для конкретного устройства), которые могут и не влиять на работу PCI-E. Я думаю,если бы они имели в виду PCI Capabilities, они бы так и написали. 2. А что мешает расположить PCI Capabilities в стандартном конф пространстве Host Bridge (ниже границы 256 байт)?Имело бы смысл располагать их в RCRB, если бы в этих Capabilities содержалась информация,относящяяся к Root Port'ам(например, Virtual Channel Capability). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться