Уважаемые мемберы и в особенности модеры!
Не спешите закидывать меня ссылками на основополагающие доки.
Во времена своей молодости дружил с ассемблером, с 16 битным правда, потому как мой первый комп ЕС1840.
Но со временем пошел по другим стопам...
Так вот даже не знаю что делать, подскажите, умоляю!
Неужели в АМИБИОС нельзя менять PCI регистры каким либо не сложным способом? В аварде это легко делать.
В какой-то статье вычитал, что можно написать свой модуль и на асме непосредственно загнать через порт значение регистра.
В принципе там, около 5-ти строк кода, семечки.
Только вот как правильно этот модуль запихнуть в АМИБИОС,
точка входа, как осуществляется возврат.
Еще раз прошу, я знаю, вы спецы в своем деле, помогите конкретными советами.
С помощью AMIBCP (AMI BIOS Configuration Programm) Вы можете, как это и следует из названия, конфигурировать некоторые параметры, которые визуализируются в модулем ezPORT (другое название - ADM) в процессе диалога CMOS Setup. Прошу обратить внимание - параметры(!). Из этого не следует, что пользователь ч/з CMOS Setup управляет конкретными битами заданных регистров. Хотя это, как частный случай, и не исключается.
Для решения Вашей задачи требуется написать программный PCI ROM, с помощью AMIMM встроить его в тело BIOS и, как Вы совершенно справедливо отметили, эта простая в принципе задача будет решена.
Открытая книга: icbook.com.ua
Спасибо, версию с правкой регистров как в AWARD отбрасываю.
Уже помогли.
Ну а на небольшую помощь земляку я могу расчитывать? Меня даже устроит режим холодно/горячо
Ох, нужно покупать вторую микруху биоса и можно начинать эксперементы.
Почему PCI ROM a не ISA ROM?
Вроде ISA легше делать.
И нет ли у кого у же подобного готового модуля?
Потому что даже тот, который на ISA, все равно PCI ROM
Открытая книга: icbook.com.ua
Примерчик ISA-модуля: xtremesystems.org/forums/showthread.php?p=474847
+ объяснение назначения регистров, отвечающих за настроки контроллера памяти на AMD K8 (DDR1).
Первоисточник, так сказать.
PS: До кучи: wasm.ru/print.php?article=1013001
ПС [13-06-2006] Идеальный скриншот BIOS'а ? Запросто ! // K.V.
Спасибо, буду ковырять. Я так понял для АМИБИОС все это тоже самое что и для AWARD.
По самому модулю вроде как все более менее понятно.
Появились вопросы насчет вставки модуля в биос.
В MMTOOL есть уже три модуля с ID 20.
Подсмотрел в PDF'e к tool 8 RC1, модули с ID 20 - PCI ROM.
Но есть вопрос по вставке модуля в MMTOOL
Откуда брать Offset/VID и Seg./DID?
Link Present я так понял не используем.
HELLBIT
А есть ли в этом PDF'е упоминание про идентификатор ISA ROM ? Надеюсь, что есть.
Можно, конечно, попробовать подсунуть вместо PCI -> ISA ROMку под тем же ID=20.
Но дело в том, что у PCI ROMки есть структуры, которые напрочь отсутствуют у ISA ROM ("PCIR", например). И вполне вероятно, что если биос не обнаружит этих структур, то он просто-напросто проигнорирует эту ROMку и не передаст ей управление. По крайней мере, по стандарту именно так он и должен поступить.
VendorID и DeviceID PCI-устройств можно глянуть в WPCREDIT'е.
Подозреваю, что можно выбрать любое из присутствующих в системе PCI устройств. А может, только "любое из незанятых", чьих PCI ROM еще нет в биосе.
ПС [13-06-2006] Идеальный скриншот BIOS'а ? Запросто ! // K.V.
Собственно:
Module ID (hex) Description
04 Setup Engine (Client).
06 DMI Data (SMBIOS Data).
08 BootBlock-POST Interface module.
0C ROM ID Module (BIOS Tag).
0E OEM Logo (large) for Silent Boot.
10 ACPI AML.
11 CPU Microcode patches.
15 External Memory Detection module.
18 ADM.
19 ADM Font.
1A OEM Small Logo.
1B Main BIOS (SLAB).
1C BCP Information Module (Created by AMIBCP).
1D DUAL Logo
1E INTEL OSB (On Screen Branding)
1F Currently unassigned
20 PCI Addon ROM (Same for all PCI Option ROMs).
21 Language Module (Same for all languages).
22 - 25 Currently unassigned
26 Source Level Debugger.
27 Source Level Debugger transport layer.
28 BMC Output Redirection Module.
29 MBI File.
2A MBI Test Pattern.
2B More than 4GB memory test.
2C – 2D Currently unassigned
2E PXE Base ROM.
2F Serial Redirection module.
30 Parties Logo.
31 NEC CIM Module (Used by AMI Taiwan).
32 NEC battery refresh support (Used by AMI Taiwan).
38 Auto flash EC firmware (Used by AMI Taiwan).
80 BIOS Information Module.
F0-FF OEM Modules.
Заманчивые F0-FF - OEM Modules.
Вообще какая разница какой юзать? Для меня главное что бы мой код выполнился, а весь функционал в нем.
Есть два нюанса.
Настройки которые делает код не должны быть перезаписаны позднее самим биосом.
Второе. Т.к. настройки касаются разгона(тайминги), как бы не было ситуации когда настройка срабатывает поздно и система успевает зависнуть. Это есть плохо.
Отправить комментарий