Автор: Santa , 8 апреля 2007
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 порт начинается со старта системы? (Идиотский вопрос, но все-же)
- все ли я делаю правильно?
Содержимое данного поля является приватным и не предназначено для показа.

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

icbook

18 лет 10 месяцев назад

...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

18 лет 10 месяцев назад

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

Root

18 лет 10 месяцев назад

гм. что более интересно - даже в 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 вообще нету упоминаний о таких возможностях. Т.е. либо там их нет, либо они работают, но с отличиями. Большими или нет - вопрос.

BSV

18 лет 10 месяцев назад

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

Strelets

18 лет 10 месяцев назад

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

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

http://download.intel.com/design/chipsets/datashts/30701302.pdf (8306912 bytes )
Это LPC bridge of the ICH7.



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

Santa

18 лет 10 месяцев назад

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

icbook

18 лет 10 месяцев назад

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

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

icbook

18 лет 10 месяцев назад

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

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

BSV

18 лет 10 месяцев назад

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

icbook

18 лет 10 месяцев назад

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

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

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