Hi all, великий и ужасный! БИОС AWARD, MB Gigabyte 8I945P-G. Посткарта NM9221 МастерКит.
Проблема вот в чем. Пробую установить контрольную точку в бутблоке (это ради тренировки) путем замены кода своим:
mov al, 0EEh Label1: mov dx,80h out dx,al jmp Label1
Вопрос:
- виновата/глючит посткарта? Те точка остановки срабатывает, но не отображается?
- вывод кодов в 80h порт начинается со старта системы? (Идиотский вопрос, но все-же)
- все ли я делаю правильно?
какие?
практически да, только вот на 945 могут возникнуть интересные моменты, т.к. родной для него интерфейс - PCI-Ex, а не PCI. И вполне возможна ситуация, что для нормальной работы ПОСТки надо приложить доп. усилия по настройке чипсета.
в зависимости от того как скомпилить этот кусок кода, может получиться разный результат... jmp Label1 может _в принципе_ указывать куда угодно, но не на инструкцию "mov dx, 80h"...
Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P
Спецсимволы здесь - это отличные от "нормальных" букаф и цифер символы UU.
Компилировать такой маленький кусочек кода вовсе не обязательно - можно и так опкодами вручную набросать, поэтому от компилятора здесь бяки ждать не приходится.
Все же я больше склоняюсь к погрешности пост-карточки.
-=Кто сказал что бесполезно биться головой об стену...=- (НП)
Пх’нглуи мглв’нафх Ктулху Р’льех вгах’нагл фхтагн
Хочешь сделать хорошо - сделай это сам
Santa
я бы проверил аналогичную методику на других матерях, дабы сделать какой-то релевантный вывод.
Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P
Чипсет i945 - это для меня сейчас актуально
Дайте, пожалуйста,
1. ссылку на биос
2. текст вставляемого кода
3. адрес вставки
Попробуем отладить тренировочный патч в эмуляторе.
Я тоже захожу к Вам за новостями чуть не каждый день. Ждемс...
Область применения - все тот же Конрой.
Целевой БИОС - GA-8I945P-G
Тренировочный БИОС - GA-8I945P-S3 rev 1.0. Я на нем как раз "сижу".
Длинный переход: B0 EE E6 80 E9 F9 FF
Короткий переход: B0 EE E6 80 EB FA или как в первом посте.
Адрес вставки - любой от F000:FFF0h до F000:EC42h (переход в оригинал.тмп). Применительно к файлу прошивки - 7FFF0h, 7EC42h соответственно.
-=Кто сказал что бесполезно биться головой об стену...=- (НП)
Пх’нглуи мглв’нафх Ктулху Р’льех вгах’нагл фхтагн
Хочешь сделать хорошо - сделай это сам
Давайте попробуем зациклить тренировочный биос 945ps3.f2 после повторного вывода значения CF в порт 80h.
Если интересно - это произойдет после исполнения ЦПУ 11484 операций.
Для этого нужно изменить по адресу F000:ED5D два байта 0x87, 0xF2 на 0xEB, 0xFE.
Было:
Стало:
Обратите внимание, что метка стоит ниже вывода в порт.
Возможно, в этом решение проблемы (иначе посткарта "захлёбывается":) )
Отличная идея... Но у меня не прокатывает. Виснет и ничего не показывает точно как раньше, куда не поставь этот BreakPoint с измененным переходом. Похоже придется пробовать ставить бряку уже в original.tmp. Первый код, который я вижу на карточке, это 04h, а в бутблоке как бы и нет такого.
PS Похоже тестовая флешка накрылась, не шьется. Верой и правдой служила ты мне полгода. Спи спокойно, дорогой товарищь...
-=Кто сказал что бесполезно биться головой об стену...=- (НП)
Пх’нглуи мглв’нафх Ктулху Р’льех вгах’нагл фхтагн
Хочешь сделать хорошо - сделай это сам
Жаль...
И у меня нет тестовой флешки.
Да и мамки с i945 тоже нет:):)
Постараюсь заполучть тестовую платформу и проверить сей факт.
P.S. Есть информация о B=0/D=1Fh/F=0/R=F0h?
Открытая книга: icbook.com.ua
download.intel.com/design/chipsets/datashts/30701302.pdf (8306912 bytes )
Это LPC bridge of the ICH7.
Offset address: F0h - RCBA - Root Complex Base Address Register (32 bit)
Отправить комментарий