реклама на сайте
подробности

 
 
> Конфигурирование шины PCI, алгоритм работы
voland95
сообщение Oct 14 2009, 07:06
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 14-10-09
Пользователь №: 52 934



Добрый день. Помогите составить блок-схему или алгоритм конфигурирования устройств на PCI например при взаимодействии с видеоадаптером или контроллером HDD. Никак не могу разобраться(((
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Harbour
сообщение Nov 4 2009, 08:12
Сообщение #2


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



х.з. - с вендой уже 10 лет не дружу
Go to the top of the page
 
+Quote Post
lsvmo
сообщение Jan 21 2012, 21:52
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 17-01-12
Пользователь №: 69 637



Я никак не пойму с регистром XROMBAR - Expansion ROM Base Address register, что по смещению 30h в конфигурационном пространстве PCI.
Читал спецификацию PCI и Салихана.

Что значит фраза в спецификации PCI Firmware, "если регистр XROMBAR реализован, то содержимое образа ROM копируется в память и запускается инициализирующая функция"

Значит ли эта фраза, что если в ответ на запись одними 1, он вернёт ненулевое значение, то это он реализован.
Меня волнует бит 0. Вот если он вернётся 0. То всё равно POST компа скопирует образ и запустит инициализирующую функцию???
Значит ли этот бит, что просто сам ROM карты расширения не будет доступен для записи и чтения через отображение на память. Но при этом POST всё равно запустит код из образа, находящегося в нём???

Я как бы не хочу, чтобы мой ROM BIOS платы расширения отображался на память, но при этом инициализирующий код должен выполнится.

Сейчас можно вставлять микросхемы для ROM карт расширения PCI объёмом 1Мб.
Что в таком случае будет происходить при работе BIOS. Там размер доступной памяти 1Мб всего. На инициализирующую часть одной карты расширения PCI выделяется, если не ошибаюсь, 2Кб. Как при этом происходит отображение этого самого ROM?

P.S.
У меня сейчас сформулировался неразрешимый для меня вопрос.
Смотрю на регистр XROMBAR в коде инициализации на этапе инициализации PnP устройств, то есть выполняется образ, записанный на ROM карты расширения.
Он показывает адрес 0xCFFF0000. Заметьте нулевой бит равен 0 !!!! Как написано в спецификации, записываю регистр одними единицами, на что в регистре плата возвращает 0xFFFFC001.
Нулевой бит равен 1 !!! То есть ROM BIOS есть, показывается требуемый объём памяти.
Так вот кто и как потом сбрасывает нулевой бит??? Ибо даже если я его взвожу, он потом становится нулевым.

И кстати, когда читаю память по адресу 0xCFFF0000, там только 0xFFFFFFFF.
В общем, не понимаю я, как работает нулевой бит этого регистра. И как отображается ROM платы расширения на память. И почему инициализирующий код выполняется по адресу 0xCA907? Разве он не должен выполняться по адресу отображения?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th August 2025 - 19:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01415 секунд с 7
ELECTRONIX ©2004-2016