Установка контрольной точки по ходу выполнения кода бутблока

Hi all, великий и ужасный! БИОС AWARD, MB Gigabyte 8I945P-G. Посткарта NM9221 МастерКит.
Проблема вот в чем. Пробую установить контрольную точку в бутблоке (это ради тренировки) путем замены кода своим:

	       mov al, 0EEh
Label1:   mov dx,80h
	       out dx,al
	       jmp Label1

Но после прошивки МВ просто не стартует. Пробовал и длинные переходы и короткие, вывод в 80-й порт и вывод в dx - разницы никакой. Просто не заводится - на посткарте начальное состояние (спецсимволы). Причем можно ЭТО вставить хоть в самое начало, хоть в середину, хоть в конец - результат один.
Если же без внедрения кода просто изменить ход выполнения бутблока, например занопить что-нибудь, пару переходов поставить - все работает.

Вопрос:
- виновата/глючит посткарта? Те точка остановки срабатывает, но не отображается?
- вывод кодов в 80h порт начинается со старта системы? (Идиотский вопрос, но все-же)
- все ли я делаю правильно?

Аватар пользователя icbook

Strelets писал(-а):
...This allows systems with corrupted or unprogrammed flash to boot from a PCI device."
...

Или всё не так просто?

Сейчас мне сложно судить, как будет реализован старт BIOS с PCI. Не вдаваясь в детали boot-strap опций ICH7, могу только предположить, что при наличии PCI System BIOS система атоматически(? - видимо, приоритет у PCI BIOS повыше будет, да и проверка в BIOS не зря выполняется. См. переход на метку SKIP) с него стартует. Поводом для такого оптимизма служат эксперименты 7-летней давности, когда такое было уже реализовано на LX/BX. Сие есть то ли случайное совпадение, то ли недокументированная возможность чипсета. Сейчас уже плохо помнится, но по-моему на VIA сей трюк не работал.

P.S. Насколько мне известно, у Giga-Byte давно уже в ходу pci-ная плата с BIOS для сервисных нужд (т.е. для восстановления). И некоторые центры ее имеют.

Аватар пользователя BSV

Плохо, что похоже единого механизма не наблюдается (то GNT4# и GNT5#, то GNT0# и SPI_CS1#), то есть для разных южников нужны разные тулзы. Будет свободное время - посмотрю документацию на Интеловские южники, чтобы все более подробно уяснить.

Второй закон Вышковского: Все можно наладить, если вертеть в руках достаточно долго.

Аватар пользователя Root

гм. что более интересно - даже в ICH6 уже была такая фича, только там она не описана полностью... Как всегда Интел свои секреты тщательно скрывает :(

Цитата:
GNT[5]#/GPO[17]

Boot BIOS Destination Selection

Rising Edge of PWROK

This signal has a weak internal pull-up. Allows for select memory ranges to be forwarded out the PCI Interface as opposed to the Firmware Hub. When sampled high, destination is LPC. Also controllable via Boot BIOS Destination bit (Chipset Configuration Registers:Offset 3410h:bit 3).
NOTE: This functionality intended for debug/testing only.
В даташите же на ICH5 вообще нету упоминаний о таких возможностях. Т.е. либо там их нет, либо они работают, но с отличиями. Большими или нет - вопрос.

Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P

Аватар пользователя BSV

Только что глянул Даташит на ICH6 - таки да, ничего сложного. Достаточно замкнуть GNT5# на землю (вставить PCI карточку с перемычкой в соответствующий слот) и отрабатывать обращения в диапазон памяти FF000000h - FFC7FFFFh (сначала у меня были непонятки по этому поводу - не будет ли конфликтов, но потом я там же вычитал, что данный диапазон используется только южником). Несложно будет сделать что-то типа универсального адаптера для прошивки плат с запаянным BIOS'ом. Только предварительно на всякий случай (может это флэшер и сам делает) перед прошивкой переназначить данный диапазон памяти на LPC (SPI или еще что).

Второй закон Вышковского: Все можно наладить, если вертеть в руках достаточно долго.

BSV писал(-а):
Strelets, а это Вы из документации на какой чипсет почерпнули?

Цитата была отсюда (стр. 289)
Цитата:

Strelets писал(-а):
download.intel.com/design/chipsets/datashts/30701302.pdf (8306912 bytes )
Это LPC bridge of the ICH7.

PS
Господа, у меня есть тост.
Да здравствует старт BIOS с PCI!:alc:

Аватар пользователя Santa

Тему развили замечательно, очень продуктивно. Но в тему топика и по моей проблеме оказывается что у NM9221

Цитата:
Основной недостакок - полная нерабоспособносто на современных платах, как то nForce2(свежих ревизий, на первых работает), nForce3/4/5xx, i915 и старше.
Взято из статьи в Wiki. Проверил на КТ133А и 440ZX - прекрасно отображает все, начиная с C0h. Стоит ли искать лечение?

А как контрольную точку можно попробовать вставить гудки.

-=Кто сказал что бесполезно биться головой об стену...=- (НП)
Пх’нглуи мглв’нафх Ктулху Р’льех вгах’нагл фхтагн
Хочешь сделать хорошо - сделай это сам

Аватар пользователя icbook

Santa писал(-а):
А как контрольную точку можно попробовать вставить гудки.

В общем случае на самом раннем этапе старта это тоже может вызвать затруднения.

Аватар пользователя icbook

Strelets писал(-а):
Господа, у меня есть тост.
Да здравствует старт BIOS с PCI!

Алаверды, что ли?...

Аватар пользователя BSV

Посмотрел даташит на мост, что стоит на этой плате. Не понял, как происходит загрузка BIOS из микрухи на плате - обрабатываются обращения в какой-то железно заданный диапазон адресов? В какой именно? Будет ли работать на разных платах? Не будет такая плата с южником конфликтовать?

Второй закон Вышковского: Все можно наладить, если вертеть в руках достаточно долго.

Аватар пользователя icbook

BSV писал(-а):
Посмотрел даташит на мост, что стоит на этой плате. Не понял, как происходит загрузка BIOS из микрухи на плате - обрабатываются обращения в какой-то железно заданный диапазон адресов? В какой именно?

У ITE по этому поводу на сайте где-то я читал сообщение, что если необходимо обслуживание BIOS, то - только по запросу к ним.
BSV писал(-а):
Будет ли работать на разных платах? Не будет такая плата с южником конфликтовать?

Неслучайные вопросы. Не будет работать на некоторых плтах, т.к. будет конфликтовать с ЮМ.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей