Дано: GA-MA780G-UD3H с функцией DualBIOS, не виртуальной, на плате реально две SPI flash схемы.
Почти случайно обнаружил комбинации Alt+F11, Alt+F12.
Поисследовал - похоже переключение между схемами производится через бит #0 (самый младший) регистра EFh логического устройства #7 Super I/O контроллера IT8718. Доступ к ROM осуществляется через SPI контроллер в этом же чипе (IT8718).
В документации, которую я смог найти, этот регистр не описан.
Может кто может помочь с более правильной/полной документацией? На самом чипе написано ITE IT8718F-S.
Если кому интересно дальнейшее исследование этой темы - давайте поисследуем вместе.
Сейчас я смотрю на стартовый код биоса и то как/когда он делает переключение между flash чипами.
Похоже, что можно форсировать такое переключение с помощью сигнала RI2 упомянутого Super I/O (pin 127).
maco
GB в том отношении, что пинаут гигабайтовский. 8712 и 8718, кстати, являются аналогами.
уточню
97 (66) - IRTX/GP47/CEB_N
61 (30) - RESETCON#/CIRTX/CE_N
Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P
agapon
читайте даташит на те пины, что я указал.
Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P
Это уже веселее.
Физическое соединение я не отслеживал.. пока. Специализация несколько другая
Я вижу, что надо надо объяснить ход моих мыслей по поводу кода.
Я имел в виду, что с помощью сигнала RI2 можно приказать БИОСу переключиться на альтернативный флеш.
Само же переключение производится путем установки бита номер 0 (самого нижнего) в регистре 0EFh логического устройства 7 в Super I/O.
В тех документах по IT871x, которые я смог найти, этот регистр не упоминается. По крайней мере я его не обнаружил.
Возможно это алиас какого-то еще регистра.
То, что этот регистр/бит действительно производит переключение, я проверил с помощью слегка модифицированной утилиты flashrom.
Подытожу. Я точно не знаю, каким именно выводом производится переключение между микросхемами. Я знаю только какой регистр для этого надо программировать и через какой ввод можно принудить БИОС к переключению.
У меня эти пины (66 и 30) описаны как имеющие альтернативные функции CE_2N и CE_N, "Serial Flash chip enable".
Что, в общем, похоже на то, что надо.
Но вот только я не вижу описания как ими управлять.
Попутно хотелось бы уточнить - выходы SO включены раздельно?
На самом деле, исходное утверждение (самое первое, в самом верху) было достаточно точным с точки зрения изложения фактов и интерпретаций.
Неясности были привнесены по ходу разговора.
Не понял вопрос
agapon
Факты - фактами, а интерпретация - интерпретацией. У вас интерпретация не была подкреплена фактами, поэтому и осталась всего лишь интерпретацией.
По SO - 2-ой вывод мискросхемы, содержащей Main BIOS, соединен со 2-ым выводо мискросхемы, содержащей Backup BIOS?
IMHO не соединен, но для точного представления ситуации было бы неплохо выяснить, тем более проверить не сложно.
Я позволю себе вернуться к моей плате GA-G31M-ES2L, напомню, процессор Intel, dual bios с двумя SPI флэшами MX25L4005, доступ через ICH7, SO,SI,CLK обеих запараллелены, а CS#, HOLD#, WP# нет. Под рукой такая же плата - в смысле из той же закупки и та же Rev1.1 - но с другими флэшами - SST25VF04.
Вобщем, люди мы лихие, с живых плат поотпаивали микросхемы backup BIOS. В обеих прошита версия F8, но что удивительно - начиная с адреса 7E28Eh (в hex редакторе) в F8 идет 20 ED FF FF FF, в SST - 24 1D 95 С3 78, в MX - 24 1D 3D 26 4F. Видимо, это как то связано с типом микросхемы, хотя идентификаторы микросхем никак на эти коды не похожи. SST:VID BF, DID 8D; MX: VID C2, DID 13. После отпайки резервных биосов из логотипа загрузки исчезло красивое сочетание "Dual BIOS", значит основной биос проверяет наличие резервного.
Вот какой факт просьба объяснить. Записываю F8 через Q-Flash, тут же его считываю в файл и вижу, что свежесчитанный файл уже сильно отличается - в области 6E000-6EFFF в F8 были в основном FF или 00, а теперь совсем не то, включая слова типа Award Software, Gigabyte и т.д., и изменились те самые 5 байт с адреса 7E28Eh. А после перезагрузки и последующего считывания еще и в области 6C000-6CFFF понаписано всякое, в т.ч. куча заголовков Empty. После последующих перезагрузок данные в этой области все время меняются, хотя уже немного. Что это за область флеш-памяти, куда постоянно что-то пишется? И как тогда может работать аппаратная защита биоса, если туда всегда что-то пишется?
Или Q-Flash читает по этим адресам совсем не из биоса? Маловероятно...
bublik
Области DMI/ESCD, например.
Отправить комментарий