Hi all, великий и ужасный! БИОС AWARD, MB Gigabyte 8I945P-G. Посткарта NM9221 МастерКит.
Проблема вот в чем. Пробую установить контрольную точку в бутблоке (это ради тренировки) путем замены кода своим:
[code:1] mov al, 0EEh
Label1: mov dx,80h
out dx,al
jmp Label1
[/code:1]
Но после прошивки МВ просто не стартует. Пробовал и длинные переходы и короткие, вывод в 80-й порт и вывод в dx - разницы никакой. Просто не заводится - на посткарте начальное состояние (спецсимволы). Причем можно ЭТО вставить хоть в самое начало, хоть в середину, хоть в конец - результат один.
Если же без внедрения кода просто изменить ход выполнения бутблока, например занопить что-нибудь, пару переходов поставить - все работает.
Вопрос:
- виновата/глючит посткарта? Те точка остановки срабатывает, но не отображается?
- вывод кодов в 80h порт начинается со старта системы? (Идиотский вопрос, но все-же)
- все ли я делаю правильно?
Переделываемый БИОС - GA-8I945P-G
Как образец БИОС - GA-8I945P-S3 rev 1.0.
У них все одинаковое в плане определения частоты. Могу выслать idb файлы от обоих (тяжелые).
ЗЫ Проблема с выключением тоже никак еще не решилась.
Добавлено спустя 20 часов 57 секунд:
Интересно, в процессе завершения работы компутера выполняет ли БИОС какие-либо действия? Конечно не сам БИОС, а то что висит в памяти.. Если конкретно, то меня интересует - не лезет ли он в MSR регистры процессора?
Скорее делает записи в ACPI и с шансами для брендов в логгер.
Делает, обычно - выключает компьютер. :)
Сложное разделение... Правильно будет, видимо, сказать - биос, который висит в памяти. :)
Смотря что подразумевается. Ибо он всегда туда лезет, вот только, видимо, Вас интересуют конкретные MSR-ы. Смотрите в биосе, модуль Y-seg (обычно awardeyt.rom для авардов).
Сравнивал модули awardeyt от моей платы (P-G) и P-S3. Практически одинаковые. Обращение к MSR только в отношении 2Ah, 198h, 199h. Ничего криминального.
:-k