AMIBCP и современные версии AMIBIOS

Так получилось, что компания American Me­ga­trends сво­бод­но не рас­про­ст­ра­ня­ет программное обеспечение AMI BIOS Configuration Programm (AMIBCP). Но мир устроен как-то по-другому, и вот уже много лет сер­вис­ные ин­же­не­ры и про­дви­ну­тые пользователи освоили и успешно пользуются этим замечательным ин­ст­ру­мен­том. Все эти годы глав­ной не­при­ят­но­стью была и остается несовместимость новых версий AMI­BIOS с преж­ни­ми релизами AMIBCP. Но мы-то зна­ем, что мир уст­ро­ен так, что «правильная» версия рано или поз­дно появится.

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

Рассмотрим ситуацию, когда попытка открыть файл образа BIOS завершается со­об­ще­ни­ем, как «Couldn't open the file!»:

Попытка открыть файл образа BIOS завершается сообщением «Couldn't open the file!»

 

На самом деле ничего страшного не происходит. Вполне возможно, что AMIBCP v3.46 решит поставленную за­да­чу, ес­ли поль­зо­ва­тель учтет особенности структуры современных версий AMIBIOS.

Дело в том, что часть пространства в файле образа отводится для служебных функций (типа plat­form.bin, не­ког­да от­дель­но су­ще­ст­во­вав­ше­го в комплекте с Phoenix Phlash, утилитой программирования Phoenix­BIOS). Осталось только раз­об­рать­ся, из чего состоит нынешний BIOS, разработанный в American Me­ga­trends, и внести тре­бу­е­мые из­ме­не­ния.

Оговоримся сразу, что наш разговор касается только самых современных решений, основанных на ядре AMI­BIOS8, и не имеет никакого отношения к более ранним выпускам, а также к версии UEFI BIOS, раз­ра­бо­тан­ной на одном из ядер Aptio. По этой причине будем рассматривать только третью версию AMIBCP, в част­нос­ти v3.46:

Программное обеспечение AMI BIOS Configuration Programm (AMIBCP)

 

В настоящее время образ AMIBIOS8 состоит, как минимум, из трех регионов:

Descriptor Region, как следует из названия, содержит описания компонентов самого BIOS и платформы, ко­то­рую он об­слу­жи­ва­ет. В нем содержится перечень микросхем Flash ROM, их интерфейс, код про­из­во­ди­те­ля чипа, код са­мо­го чи­па со­глас­но JEDEC и некоторая другая информация (частоты так­ти­ро­ва­ния при чтении, записи, стирании и т.п.). Так­же опи­са­ны фун­к­ции чипсета системной платы, ответственные за ком­му­ни­ка­цию с микросхемой BIOS. В основном, это дан­ные свя­зан­ные с на­ст­рой­кой Южного моста (на­при­мер, ICH8) на корректное обслуживание чипа Flash ROM с уче­том осо­бен­но­с­тей конкретной ре­а­ли­за­ции.

Manageability Engine Region — новое слово в проектировании AMIBIOS8, пришедшее в низкоуровневое про­грам­мное обес­пе­че­ние с появлением интегрированного в чипсет BMC-контроллера. Не раскрывая сек­ре­ты фирмы, от­ме­тим толь­ко оче­вид­ные фун­к­ции, вы­пол­ня­е­мые кон­т­рол­ле­ром Baseboard Management: мо­ни­то­ринг питающих напряжений, кон­троль тем­пе­ра­тур­ных режимов, обслуживание сенсорных датчиков плат­формы. Как бы там ни было, указанный ре­ги­он лег­ко на­хо­дит­ся в ко­де по ключевому слову BMC.

Интересующая нас часть кода — собственно BIOS. Если для исследований взять прошивку платы Tyan S7012, то из име­ю­щих­ся четырех мегабайтов нам для работы потребуются только два старших. Раз­мер фай­ла про­шив­ки умень­шил­ся вдвое — те­перь он прек­рас­но открывается утилитой AMIBCP, де­мон­ст­ри­руя всем тайники BIOS:

Рассмотрим меню I/O Virtualization из раздела «Advanced», где выполняется установка значений параметра SR-IOV (Single Root I/O Virtualization)

 

В качестве примера мы выбрали меню I/O Virtualization из раздела «Advanced», где выполняется установка зна­че­ний па­ра­мет­ра SR-IOV (Single Root I/O Virtualization), одного из интересных и важных направлений вир­ту­а­ли­за­ции. В за­клю­че­ние следует сказать, что на платформах с интегрированным ги­га­бит­ным сетевым адап­те­ром кроме ука­зан­ных ре­ги­о­нов может находится также и GbE Region, где хранятся настройки Ether­net-адаптера, его MAC-ад­рес и другая ин­фор­ма­ция.