Я никак не пойму с регистром 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? Разве он не должен выполняться по адресу отображения?
|