Цитата(Shivers @ Jan 30 2012, 18:23)

Я процитировал стандарт. Сам никогда в дезайн P-EXROM не вставлял, только собирался экспериментировать с сетевой картой и поэтому вдумчиво вчитывался в текст стандарта. EXROM это один из обычных способов хакать биос в РС: берется сетевая карта, в EEPROM прописывается код, который исполняется до передачи управления ОС. Обсуждали на ром.бае и еще кое где. Кто то в EXROM встраивал Линукс и даже ДОС. Но это уже оффтопик.
По теме - не знаю что посоветовать. Вы Memory Space Ena прописываете, перед тем как BAR EXROMа щупать?
И зачем он вам вообще дался, могу полюбопытствовать?
p.s.
> А в BIOS, даже выставляя нулевой бит в 1, я по тому адресу читаю только FFFFFFFFh.
А как вы под биосом читаете этот адрес?
Ведь биос это физические адреса процессора, а PCI - тридесятая шина, доступ к которой осуществляется через мосты. И кроме того, в интелловских контроллерах PCI CFG вообще не меппится в память, а весь доступ проходит через два регистра - адреса и данных ... надеюсь вы все это учитываете.
В командном регистре, который в конфигурационном пространстве PCI по смещению 0x04, стоит Memory Space Enable.
Собственно, зачем дался? Разрабатываем PCI-E плату, хочу понять, как этот механизм работает, как вот этот самый код, который выполняется до передачи управления ОС, сочетается с дальнейшим использованием регистра XROMBAR.
Под BIOS'ом читаю через регистры 0xCFC, 0xCF8. Конфигурационное пространство PCI устройств доступно. Да и вообще для этого также существует механизм прерывания 1Ah.