POST-коды BIOS

24
1 Описание контрольных точек процедур POST Руководство пользователя диагностических карт Ревизия 5.1 © 2005

Transcript of POST-коды BIOS

1

Описание контрольных точекпроцедур POST

Руководство пользователядиагностических карт

Ревизия 5.1© 2005

2

Содержание

Раздел 1Check Points for AMIBIOS V6.24 15/07/95 . . . . . . . . . . . . 3

Особенности выполнения стартовых процедур 3Коды неупакованной процедуры инициализации 3Коды процедуры перезаписи Flash ROM 4Коды распакованного системного BIOS 4Особенности выполнения DIM 7

Раздел 2POST Codes for AwardBIOS V4.51PG Elite . . . . . . . . . . . . 8

Выполнение стартовых процедур POST из ROM 8Выполнение POST в Shadow RAM 8Подготовка данных для операционной системы 9

Раздел 3POST Codes for AwardBIOS V6.0 Medallion . . . . . . . . . . . 10

Выполнение стартовых процедур POST из ROM 10Восстановление BIOS 10Выполнение POST в Shadow RAM 11Подготовка данных для операционной системы 12Особенности ускоренного прохождения POST 14Выполнение POST в режиме энергосбережения 15

Раздел 4POST Codes for PhoenixBIOS 4.0 Release 6.0 . . . . . . . . . . 16

Выполнение стартовых процедур POST из ROM 16Выполнение процедур POST из RAM 17Сообщения о фатальных ошибках 19Выполнение процедур из загрузочного блока 20

Раздел 5Error Codes for InsydeBIOS Mobile Pro . . . . . . . . . . . . . . . 21

Контрольные точки загрузочного блока 21Выполнение процедур POST из RAM 22

3

American Megatrends, Inc. (AMI)

Контрольные точки процедур POST, выполняемых в AMIBIOS, были переработа-ны и дополнены в 1995 году и до настоящего времени не претерпели существенных из-менений. Первое описание POST кодов или как их называет AMI - "check points" в ихнынешнем виде появилось в связи с выходом в свет ядра V6.24, 15/07/95. Некоторыеизменения внесены в AMIBIOS V7.0, что отражается в настоящем документе.

Особенности выполнения стартовых процедур AMIBIOS

Если в процессе старта в диагностическом порту появляются данные 55h, AAh,не следует сопоставлять эту информацию с POST кодами - мы имеем дело с типовойтестовой последовательностью, в задачи которой входит проверка целостности шиныданных.

На этапе старта вывод в диагностический порт данных носит специфический длякаждой платформы характер. В некоторых реализациях первый визуализируемый кодсвязан с действиями, который компания AMI называет chipset specific stuff. Эта проце-дура сопровождается выводом в порт 80h значения CCh и выполнением ряда действийпо настройке регистров системной логики. Как правило, код CCh возникает в тех слу-чаях, когда используется системная логика от Intel, построенная на основе контроллераPIIX - это чипсеты TX, LX, BX.

Некоторые бортовые микросхемы ввода-вывода содержат RTC и контроллер кла-виатуры, которые по старту находятся в отключенном состоянии. Цель BIOS - проини-циализировать эти ресурсы платы для дальнейшего использования. В этом случае пер-вая стартовая процедура, связанная с настройкой контроллера клавиатуры, сопровож-дается выводом значения 10h, затем выполняется инициализация RTC, о чем свиде-тельствует появление в диагностическом порту кода DDh. Следует отметить, что отказхотя бы одного из этих ресурсов повлечет нестарт системной платы в целом на первомже этапе выполнения POST.

На ряде плат процесс инициализации начинается с перевода CPU в защищенныйрежим. В этом случае вслед за первым визуализируемым кодом 43h выполнение POSTпродолжается так, как описано в документации AMIBIOS - управление передается вточку D0h.

Коды неупакованной процедуры инициализации(Uncompressed Init Code Check Points)

EE В современных реализациях AMIBIOS первый визуализируемый код связан с об-ращением к устройству, с которого возможна загрузка для восстановления BIOS

CC Инициализация регистров системной логикиCD Тип Flash ROM не опознанCE Несовпадение контрольных сумм в стартовом BIOSCF Ошибка в доступе к запасной микросхеме Flash ROMDD Ранняя инициализация RTC, который интегрирован в SIO чипD0 Запрет немаскируемого прерывания NMI. Отработка временной задержки для за-

тухания переходных процессов. Проверка контрольной суммы Boot Block, оста-нов при несовпадении

D1 Выполнение процедуры регенерации памяти и Basic Assurance Test. Переход в 4GB режим адресации памяти

D3 Определение объема и первичный тест памятиD4 Возврат в реальный режим адресации памяти. Ранняя инициализация чип сета.

Установка стекаD5 Перенос модуля POST из Flash ROM в транзитную область памяти

4

D6 При несовпадении контрольной суммы или CTRL+Home выполняется переход напроцедуру восстановления Flash ROM (Код E0)

D7 Передача управления служебной программе, осуществляющей распаковку сис-темного BIOS

D8 Полная распаковка системного BIOSD9 Передача управления системному BIOS в Shadow RAMDA Чтение информации из SPD (Serial Presence Detect) модулей DIMMDB Настройка MTRR регистров центрального процессораDC Контроллер памяти программируются согласно данным, полученным из SPDDE Ошибка конфигурации системной памяти. Фатальная ошибкаDF Ошибка конфигурации системной памяти. Звуковой сигнал10 Ранняя инициализация контроллера клавиатуры11 Возврат из состояния STR (Suspend to RAM)12 Восстановление доступа к SMRAM (System Management RAM)13 Восстановление регенерации памяти14 Поиск и инициализация VGA BIOS

Коды процедуры перезаписи Flash ROM(Boot Block Recovery Codes)

E0 Выполняется подготовка к перехвату INT19 и проверяется возможность стартасистемы в упрощенном режиме

E1 Установка векторов прерыванийE3 Восстановление содержимого CMOS, поиск и инициализация BIOSE2 Подготовка контроллеров прерываний и непосредственного доступа к памятиE6 Разрешение прерываний от системного таймера и FDCEC Повторная инициализация контроллеров IRQ и DMAED Инициализация дисководаEE Чтение загрузочного сектора с дискетыEF Ошибка дисковых операцийF0 Поиск файла AMIBOOT.ROMF1 В корневом каталоге файл AMIBOOT.ROM не найденF2 Считывание FATF3 Считывание AMIBOOT.ROMF4 Объем файла AMIBOOT.ROM не соответствует объему Flash ROMF5 Запрет Internal CacheFB Определение типа Flash ROMFC Стирание основного блока Flash ROMFD Программирование основного блока Flash ROMFF Рестарт BIOS

Коды распакованного системного BIOS, выполняемые в ShadowRAM(Runtime code is uncompressed in F000 shadow RAM)

03 Запрет немаскируемого прерывания NMI. Определение типа сброса05 Инициализация стека. Запрет кэширования памяти и контроллера USB06 Выполнение в ОЗУ служебной программы07 Распознавание процессора и инициализация APIC08 Проверка контрольной суммы CMOS09 Проверка отработки клавиш End/Ins0A Проверка сбоя батарейного питания0B Очистка буферных регистров контроллера клавиатуры0C Контроллеру клавиатуры передается команда тестирования0E Поиск дополнительных устройств, обслуживаемых контроллером клавиатуры0F Инициализация клавиатуры

5

10 Клавиатуре передается команда сброса11 Если нажата клавиша End или Ins, выполняется сброс CMOS12 Перевод в пассивное состояние контроллеров DMA13 Инициализация чип сета и кэш L214 Проверка системного таймера19 Выполняется тест формирования запросов на регенерацию DRAM1A Проверка длительности цикла регенерации20 Инициализация устройств вывода23 Считывается порт ввода контроллера клавиатуры. Опрашивается Keylock Switch

и Manufacture Test Switch24 Подготовка к инициализации таблицы векторов прерываний25 Инициализация векторов прерываний завершена26 Через порт ввода контроллера клавиатуры опрашивается состояние перемычки

Turbo Switch27 Первичная инициализация контроллера USB. Обновление микрокода стартового

процессора28 Подготовка к установке видеорежима29 Инициализация LCD панели2A Поиск устройств, обслуживаемых дополнительными ROM2B Инициализации VGA BIOS, проверка его контрольной суммы2C Выполнение VGA BIOS2D Согласование INT 10h и INT 42h2E Поиск видеоадаптеров CGA2F Тест видеопамяти адаптера CGA30 Тест схем формирования разверток адаптера CGA31 Ошибка видеопамяти или схем формирования разверток. Поиск альтернативного

видеоадаптера CGA32 Тест видеопамяти альтернативного видеоадаптера CGA и схем разверток33 Опрос состояния перемычки Mono/Color34 Установка текстового режима 80х2537 Видеорежим установлен. Экран очищен38 Инициализация бортовых устройств39 Вывод сообщений об ошибках на предыдущем шаге3A Вывод сообщения «Hit DEL» для входа в CMOS Setup3B Начало подготовки к тесту памяти в защищенном режиме40 Подготовка дескрипторных таблиц GDT и IDT42 Переход в защищенный режим43 Процессор в защищенном режиме. Прерывания разрешены44 Подготовка к проверке линии A2045 Тест линии A2046 Определение размера ОЗУ выполнено47 Тестовые данные записаны в Conventional Memory48 Повторная проверка Conventional Memory49 Тест Extended Memory4B Обнуление памяти4C Индикация процесса обнуления4D Запись в CMOS полученных размеров Conventional и Extended memory4E Индикация реального объема системной памяти4F Выполняется расширенный тест Conventional Memory50 Коррекция размера Conventional Memory51 Расширенный тест Extended Memory52 Объемы Conventional Memory и Extended Memory сохранены53 Обработка отложенных ошибок четности54 Запрет контроля четности и обработки немаскируемых прерываний57 Инициализация региона памяти для POST Memory Manager58 Выводится приглашение для входа в CMOS Setup59 Возврат процессора в реальный режим

6

60 Проверка страничных регистров DMA62 Тест регистров адреса и длины пересылки контроллера DMA#163 Тест регистров адреса и длины пересылки контроллера DMA#265 Программирование контроллеров DMA66 Очистка регистров Write Request и Mask Set POST67 Программирование контроллеров прерываний7F Разрешение запроса NMI от дополнительных источников80 Устанавливается режим обслуживания прерываний от порта PS/281 Тест интерфейса клавиатуры при ошибках сброса82 Установка режима работы контроллера клавиатуры83 Проверка статуса Keylock84 Верификация объема памяти85 Вывод на экран сообщений об ошибках86 Настройка системы для работы Setup87 Распаковка программы CMOS Setup в Conventional Memory.88 Работа программы Setup завершена пользователем89 Завершено восстановление состояния после работы Setup8B Резервирование памяти дополнительному блоку переменных BIOS8C Программирование конфигурационных регистров8D Первичная инициализация контроллеров HDD и FDD8F Повторная инициализация контроллера FDD91 Конфигурирование контроллера жестких дисков95 Выполняется ROM Scan для поиска дополнительных BIOS96 Дополнительная настройка системных ресурсов97 Проверка сигнатуры и контрольной суммы дополнительного BIOS98 Настройка System Management RAM99 Установка счетчика таймера и переменных параллельных портов9A Формирование списка последовательных портов9B Подготовка области в памяти для теста сопроцессора9C Инициализация сопроцессора9D Информация о сопроцессоре сохраняется в CMOS RAM9E Идентификация типа клавиатуры9F Поиск дополнительных устройств вводаA0 Формирование регистров MTRR (Memory Type Range Registers)A2 Сообщений об ошибках на предыдущих этапах инициализацииA3 Установка временных характеристик автоповтора клавиатурыA4 Дефрагментирование неиспользованных регионов RAMA5 Установка видео режимаA6 Очистка экранаA7 Перенос исполняемого кода BIOS область Shadow RAMA8 Инициализация дополнительного BIOS в сегменте E000hA9 Возврат управления системному BIOSAA Инициализация USB шиныAB Подготовка модуля INT13 для обслуживания дисковых сервисовAC Построение таблиц AIOPIC для поддержки мультипроцессорных системAD Подготовка модуля INT10 для обслуживания видео сервисовAE Инициализация DMIB0 Таблица конфигурации системы выведенаB1 Инициализация ACPI BIOS00 Программное прерывание INT19h – загрузка Boot Sector

7

Особенности выполнения Device Initialization Manager

Кроме выше указанных POST кодов, в диагностический порт выводятся сообще-ния о событиях в процессе выполнения Device Initialization Manager (DIM). Существуетнесколько контрольных точек, в которых отображается состояние инициализации сис-темных или локальных шин.

2A Инициализация устройств на системной шине38 Инициализация устройств, с которых возможна загрузка операционной системы -

Initial Program Load (IPL)39 Индикация ошибок, возникающих при инициализации шин95 Инициализация шин, управляемых с помощью дополнительных BIOSDE Ошибка конфигурации системной памятиDF Ошибка конфигурации системной памяти

Информация отображается в формате слова, младший байт которого совпадает ссистемным POST кодом, а старший байт указывает на тип выполняемой инициализаци-онной процедуры. Старшая тетрада в старшем байте указывает тип выполняемой про-цедуры, а младшая определяет шинную топологию для ее применения.

Старшая тетрада:0 инициализация всех устройств на всех шинах запрещена1 инициализация статических устройств2 инициализация устройств вывода информации3 инициализация устройств ввода информации4 инициализация устройств системной загрузки (IPL)5 инициализация устройств общего назначения6 сообщение об ошибках7 инициализация устройств, управляемых дополнительными ROM

Младшая тетрада:0 системные процедуры инициализации (DIM)1 шины подключения бортовых устройств2 шина ISA Legacy3 шина EISA4 шина ISA PnP5 шина PCI6 шина PCMCIA7 шина MCA

В случае если обнаружена ошибка конфигурации системной памяти, в порт 80hвыводится последовательно в бесконечном цикле код DE, код DF, код ошибки конфигу-рации, который может принимать следующие значения:

00 Оперативная память не обнаружена01 Установлены модули DIMM различных типов (пример, EDO и SDRAM)02 Чтение содержимого SPD закончилась неудачей03 Модуль не соответствует требованиям для работы на заданной частоте04 Модуль не может быть использован в данной системе05 Информация в SPD не позволяет использовать установленные модули06 Обнаружена ошибка в младшей странице памяти

8

Award Software International, Inc.AwardBIOS V4.51PG Elite

Динамично развивающаяся компания Award Software в 1995 году предложилановое на то время решение в области низкоуровневого программного обеспечения -AwardBIOS "Elite", более известное как V4.50PG. Режим обслуживания контрольных то-чек не изменился ни в широко распространенной версии V4.51, ни в раритетном испол-нении V4.60. Суффиксы P и G обозначают соответственно поддержку механизма PnP иобслуживание функций энергосбережения (Green Function).

Выполнение стартовых процедур POST из ROM

C0 Запрет External Cache. Запрет Internal Cache. Запрет Shadow RAM. Программиро-вание контроллера DMA, контроллера прерываний, таймера, блока RTC

C1 Определение типа памяти, суммарного объем и размещение по строкамC3 Проверка первых 256К DRAM для организации Temporary Area. Распаковка BIOS

в Temporary AreaC5 Выполняемый код POST переносится в ShadowC6 Определение присутствия, объема и типа External CacheC8 Проверка целостности программ и таблиц BIOSCF Определение типа процессора

Выполнение POST в Shadow RAM

03 Запрет NMI, PIE (Periodic Interrupt Enable), AIE (Alarm Interrupt Enable), UIE(Update Interrupt Enable). Запрет генерации программируемой частоты SQWV

04 Проверка формирования запросов на регенерацию DRAM05 Проверка и инициализация контроллера клавиатуры06 Тест области памяти, начинающейся с адреса F000h, где размещен BIOS07 Проверка функционирования CMOS и батарейного питанияBE Программирование конфигурационных регистров Южного и Северного Мостов09 Инициализация кэш-памяти L2 и регистров расширенного управления кэширова-

нием процессора Cyrix0A Генерация таблицы векторов прерываний. Настройка ресурсов Power

Management и установка вектора SMI0B Проверка контрольной суммы CMOS. Сканирование шины PCI устройств. Обнов-

ление микрокода процессора0С Инициализация контроллера клавиатуры0D Поиск и инициализация видеоадаптера. Настройка IOAPIC. Измерения тактовой

частоты, установка FSB0E Инициализация MPC. Тест видеопамяти. Вывод на экран Award Logo0F Проверка первого контроллера DMA 8237. Определение клавиатуры и ее внут-

ренний тест. Проверка контрольной суммы BIOS10 Проверка второго контроллера DMA 823711 Проверка страничных регистров контроллеров DMA14 Тест канала 2 системного таймера15 Тест регистра маскирования запросов 1-го контроллера прерываний16 Тест регистра маскирования запросов 2-го контроллера прерываний19 Проверка пассивности запроса немаскируемого прерывания NMI30 Определение объема Base Memory и Extended Memory. Настройка APIC. Про-

граммное управление режимом Write Allocation

9

Подготовка таблиц, массивов и структур для старта операционной системы

31 Основной отображаемый на экране тест оперативной памяти. ИнициализацияUSB

32 Выводится заставка Plug and Play BIOS Extension. Настройка ресурсов Super I/O.Программируется Onboard Audio Device

39 Программирование тактового генератора по шине I2C3C Установка программного флага разрешения входа в Setup3D Инициализация PS/2 mouse3E Инициализации контроллера External Cache и разрешения CacheBF Настройка конфигурационных регистров чип сета41 Инициализация подсистемы гибких дисков42 Отключение IRQ12 если PS/2 mouse отсутствует. Выполняется программный

сброс контроллера жестких дисков. Сканирование других IDE устройств43 Инициализация последовательных и параллельных портов45 Инициализация сопроцессора FPU4E Индикация сообщений об ошибках4F Запрос пароля50 Восстановление ранее сохраненного в ОЗУ состояния CMOS51 Разрешение 32 битного доступа к HDD. Настройка ресурсов ISA/PnP52 Инициализация дополнительных BIOS. Установка значений конфигурационных

регистров PIIX. Формирование NMI и SMI53 Установка счетчика DOS Time в соответствии с Real Time Clock60 Установка антивирусной защиты BOOT Sector61 Завершающие действия по инициализации чип сет62 Чтение идентификатора клавиатуры. Установка ее параметров63 Коррекция блоков ESCD, DMI. Очистка ОЗУFF Передача управления загрузчику. BIOS выполняет команду INT 19h

10

Award Software International, Inc.AwardBIOS V6.0 Medallion

Первое упоминание об Award Medallion BIOS, Version 6.0 датируется 12 мая 1999года. Структура нового продукта осталась неизменной, сохранив раннюю (Early), позд-нюю (Late) и финальную (System) фазы инициализации аппаратного обеспечения. Су-щественные изменения коснулись алгоритмов выполнения POST, что отразилось на но-вой кодировке контрольных точек, значительно расширив их сферу применения. Вме-сте с тем, в новом BIOS не нашлось места устаревшим технологиям, таким как EISA, ипо этой причине ряд POST кодов было упразднено.

Выполнение стартовых процедур POST из ROM

На этапе ранней инициализации программный код BIOS выполняется из загру-зочного блока (Boot Block) во Flash ROM, и сопровождается выводом в диагностическийпорт контрольных точек 91h…FFh

91 Выбор сценария старта платформыCF Определение типа процессораC0 Запрет External Cache. Запрет Internal Cache. Запрет Shadow RAM. Программиро-

вание контроллера DMA, контроллера прерываний, таймера, блока RTCC1 Определение типа памяти, суммарного объем и размещение по строкам0С Проверка контрольных суммC3 Проверка первых 256К DRAM для организации Temporary Area. Распаковка BIOS

в Temporary AreaC5 Если контрольные суммы совпали, выполняемый код POST переносится в

Shadow. В противном случае управление передается на процедуру восстановле-ния BIOS

B0 Инициализация North BridgeA0-AF Аппаратно-зависимая процедура инициализации системной логикиE0-EF Ошибка в процессе инициализации системной логики

Восстановление BIOS

01 Подготовка Conventional Memory для операционной системы05 Инициализация контроллера клавиатуры0B Настройка контроллера прерываний0D Поиск и инициализация VGA BIOS10 Вывод сообщения «BIOS ROM checksum error»11 Зарезервировано для использования в будущих реализациях12 Генерация таблицы векторов прерываний41 Инициализация дисковода FDDFF Передача управления на восстановление BIOS

11

Выполнение POST в Shadow RAM

Поздняя инициализация выполняется в оперативной памяти и продолжается домомента вызова пользовательского меню - CMOS Setup. Для этой фазы POST характер-но использование сегмента памяти E000h, в котором отрабатывается прохождение кон-трольных точек от 01h до 7Fh.

01 Распаковка XGROUP по физическому адресу 1000:0000h03 Ранняя инициализация ресурсов Super I/O05 Установке начальных значений переменных, задающих атрибуты изображения.

Проверка флага состояния CMOS07 Проверка и инициализация контроллера клавиатуры08 Определение типа интерфейса подключенной клавиатуры0A Процедура автоопределения клавиатуры и мыши. Финальные настройки кон-

троллера клавиатуры с использованием регистров пространства PCI0E Тестирование сегмента памяти F000h10 Определения типа установленной памяти FlashROM12 Тест CMOS14 Процедура инициализации регистров чипсета16 Первичная инициализация бортового частотного синтезатора18 Определения установленного процессора и объем его Cache L1 и L21B Генерация таблицы векторов прерываний1C Проверка достоверности CMOS и батарейного питания1D Первичная настройка системы Power Management1F Загрузка из внешнего модуля XGROUP клавиатурной матрицы21 Инициализация подсистемы Hardware Power Management23 Тестирование сопроцессора. Определение типа накопителя FDD. Подготовитель-

ный этап для создания карты ресурсов PnP устройств24 Процедура обновления микрокода процессора. Обновление карты распределения

ресурсов25 Первичная инициализация и сканирование шины PCI26 Настройка логики, обслуживающей линии VID (Voltage Identification Device).

Инициализация бортовой системы мониторинга напряжений и температур27 Повторная инициализация контроллера клавиатуры29 Инициализация APIC, входящего в состав центрального процессора. Измерение

частоты, на которой работает процессор. Настройка регистров системной логики.Инициализация контроллера IDE

2A Зарезервировано, очистка Carry Flag2B Поиск VGA BIOS2D Вывод на экран данных о процессоре33 Выполнение Reset для подключенной клавиатуры35 Проверка первого канала контроллера DMA 823737 Проверка второго канала контроллера DMA 823739 Тестирование страничных регистров DMA3C Настройка контроллера Programmable Interval Timer (8254)3E Инициализация Master контроллера 825940 Инициализация Slave контроллера 825943 Подготовка контроллера прерываний к работе. Прерывания запрещены, их раз-

решение выполняется позже, после теста памяти45 Проверка пассивности запроса немаскируемого прерывания (NMI)47 Выполнение ISA/EISA тестов49 Определение объема базовой и расширенной памяти. Программное управление

режимом Writes Allocation путем настройки регистров AMD K5

12

4E Тестирование памяти в пределах первого мегабайта и визуализация результатовна экране дисплея. Инициализация схем кэширования для одно- и многопроцес-сорных систем, настройка регистров процессора Cyrix M1

50 Инициализация USB52 Тестирование всей доступной системной памяти, включая регион для встроенно-

го видео контроллера (Shared Memory). Визуализация результатов на экранедисплея

53 Сброс пароля на вход в систему55 Визуализация количества обнаруженных процессоров57 Начальная инициализация ISA PnP устройств, каждому из которых назначается

CSN (Card Select Number). Визуализация логотипа EPA59 Инициализация системы антивирусной поддержки5B Старт процедуры обновления BIOS с накопителя на гибких дисках5D Инициализация бортовых SIO и Audio контроллеров60 Доступ к CMOS Setup открыт63 Инициализация PS/2 Mouse65 Инициализация USB Mouse67 Использование IRQ12 устройствами PCI, если в системе PS/2 Mouse отсутствует69 Полная инициализация контроллера кэш L26B Инициализация чипсета согласно CMOS Setup6D Настройка ресурсов для устройств ISA PnP в режиме конфигурирования SIO6F Инициализация подсистемы гибких дисков73 Предварительные действия по инициализации подсистемы жестких дисков. На

некоторых платформах - опрос ALT+F2 для запуска AwardFlash75 Поиск и инициализация IDE устройств77 Инициализация последовательных и параллельных портов7A Программный сброс сопроцессора, запись управляющего слова в регистр FPU CW7C Установка защиты от несанкционированной записи на жесткие диски7F Вывод сообщений об ошибках. Обслуживание клавиш DEL и F1

Подготовка таблиц, массивов и структур для старта операционной системы

Начиная с кода 82h, POST осуществляет конфигурирование системы согласноустановкам CMOS. Финальная его фаза выполняется из области Shadow RAM (сегментE800h) и завершается передачей управления операционной системе - код FFh.

82 Выделяется область в системной памяти для управления питанием83 Восстановление данных из стека временного хранения в CMOS84 Вывод на экран сообщения «Initializing Plug and Play Cards...»85 Инициализация USB завершена86 Зарезервировано, очистка Carry Flag87 Построение таблиц SYSID в области DMI88 Зарезервировано, очистка Carry Flag89 Генерация таблиц обслуживания ACPI8A Зарезервировано, очистка Carry Flag8B Поиск и инициализация BIOS дополнительных устройств8C Зарезервировано, очистка Carry Flag8D Инициализация процедур обслуживания бита четности8E Зарезервировано, очистка Carry Flag8F Разрешение IRQ12 для «горячего» подключения манипулятора «мышь»90 Зарезервировано, очистка Carry Flag91 Инициализация Legacy-ресурсов платформы92 Зарезервировано, очистка Carry Flag93 Предположительно, не используется

13

94 Заключительные действия по инициализации основного набора логики перед за-грузкой операционной системы. Завершается инициализация системы управле-ния питанием. Снимается стартовая заставка BIOS, выводится на экран таблицараспределения ресурсов. Для процессоров семейства AMD K6® выполняютсяспецифические настройки. Обновление микрокода для процессоров семействаIntel Pentium® II и выше

95 Установка режима автоматического перехода на зимнее/летнее время. Програм-мирование контроллера клавиатуры на частоту автоповтора

96 В мультипроцессорных системах выполняются финальные настройки системы исоздаются служебные таблицы и поля. Для процессоров семейства Cyrix выпол-няется дополнительная настройка регистров. Построение таблицы ESCD "Ex-tended System Configuration Data". Установка счетчика DOS Time в соответствиис Real Time Clock. Выполняется сохранение разделов загрузочных устройств длядалнейшего использования встроенными антивирусными средствами: Trend Anti-Virus или Paragon Anti-Virus Protection. На системный динамик подается сигналокончания выполнения POST. Строится и сохраняется таблица MSIRQ

FF Загрузка операционной системы

Ряд процессов, происходящих в Award Medallion BIOS, обозначается особымигруппами контрольных точек. К ним относятся:

System Event codes - контрольные точки системных событий.

B0 Ошибка исключения в Protected ModeB1 Нераспознанный запрос NMIB2 Остановка в активном состоянии запроса NMI

Power Management Debug codes - контрольные точки, возникающие в процессевыполнения сервисов APM или ACPI.

55 Энергосбережение с отключением питающего напряжения +12 вольт66 Переход в режим энергосбережения с минимальным потреблениемD0 Прерывание для выхода из режима энергосбережения по событиюD1 Переход CPU в режим энергосбережения путем снижения его тактовой частотыD2 Режим частичного энергосбережения с использованием функций ACPID3 System Management Interrupt для перевода в режим энергосбереженияD7 Переход CPU в режим энергосбережения средствами APM-сервисаD8 Переход системы в состояние энергосбережения средствами APM-сервисаD9 Перевод системы в состояние полного энергосбережения

System Error codes - сообщения о фатальных ошибках.

EC Ошибка обслуживания ECCED Ошибка HDD при возврате из режима энергосбереженияEF Несовпадение записанных и считанных данных в сегменте F000h

Debug codes for MP system - точки инициализации многопроцессорных платформ.

A0-A4 Процедура инициализации Local APIC одного из четырех установленных CPUF0-F4 Сбой одного из CPU на этапе выполнения Built-In Self Test

14

Особенности ускоренного прохождения POST

Для сокращения времени загрузки системы пользователь в CMOS Setup можетвыбрать опцию "Quick Power On Self Test". В этом случае прохождение POST будет ус-корено за счет отказа от выполнения некоторых процедур (Quick Boot).

Схема работы Quick Boot замещает позднюю и финальную фазы POST и не отра-жается на работе загрузочного блока. Award Software предлагает кодификацию испол-няемых процедур ускоренного прохождения POST, отличную от стандартной. Quick Bootначинается с вывода в диагностический порт контрольной точки 65h и заканчиваетсяPOST кодом 80h. Затем управление передается операционной системе с отображениемобычного для Award BIOS кодом FFh.

65 Ранняя инициализация SIO контроллера, программный сброс видео контроллера.Настройка контроллера клавиатуры, тест клавиатуры и манипулятора "мышь".Инициализация звукового контроллера. Проверка целостности структур BIOS.Распаковка процедур обслуживания Flash ROM. Инициализация бортового синте-затора частот

66 Инициализация кэш-памяти L1/L2 согласно результатам, полученным по командеCPUID. Генерация таблицы векторов, состоящей из указателей на процедуры об-работки прерываний. Инициализация аппаратных средств Power Managment

67 Проверка достоверности CMOS и батарейного питания. Настройка регистров чип-сета согласно установкам CMOS. Инициализация контроллера клавиатуры в со-ставе чипсета. Формирование переменных BIOS Data Area

68 Инициализация видео системы69 Настройка i8259 контроллера прерываний6A По специальному алгоритму выполняется ускоренный однопроходный тест опе-

ративной памяти6B Визуализация количества обнаруженных процессоров, логотипа EPA и вывод

приглашения для запуска утилиты AwardFlash. Настройка ресурсов встроенногоконтроллера ввода-вывода в режиме конфигурирования

70 Приглашения для входа в Setup. Инициализация PS/2 и USB Mouse71 Инициализация кэш-контроллера72 Настройка конфигурационных регистров системной логики. Формирование спи-

ска Plug and Play устройств. Инициализация FDD контроллера73 Инициализация контроллера HDD74 Инициализация сопроцессора75 Если пользователем предписано в установках CMOS Setup, выполняется защита

от записи IDE HDD77 Запрос пароля и вывод сообщения: «Press F1 to continue, DEL to enter Setup»78 Инициализация BIOS дополнительных устройств на шинах ISA и PCI79 Инициализация Legacy ресурсов платформы7A Генерация корневой таблицы RSDT и таблиц устройств DSDT, FADT и т.п.7D Поиск информации о разделах загрузочных устройств7E Настройка служб и сервисов BIOS перед загрузкой операционной системы7F Установка флага NumLock согласно CMOS SetUp80 Передача управления операционной системе

15

Выполнение POST в режиме энергосбережения

Одно из состояний платформы, когда содержимое оперативной памяти сохраня-ется на жестком диске, называется Hibernate. В спецификации ACPI ("AdvancedConfiguration and Power Interface Specification", Revision 2.0a от 31/03/2002) оно опре-деляется как режим энергосбережения S4 (Non-Volatile Sleep). Возврат к полноценномуфункционированию предполагает особый способ прохождения POST.

Схема работы ACPI S4, как и при ускоренном старте, замещает позднюю и фи-нальную фазы POST. Существенным моментом становится проверка в загрузочном бло-ке сценария старта. В зависимости от того, в каком ACPI состоянии находится системапосле аппаратного сигнала Reset, принимается решение о выходе из состояния S4, ко-торый начинается с вывода в диагностический порт контрольной точки 90h и заканчи-вается POST кодом 9Fh.

90 Ранняя инициализация SIO контроллера, программный сброс видео контроллера.Настройка контроллера клавиатуры, тест клавиатуры и манипулятора "мышь"

91 Проверка достоверности CMOS и батарейного питания92 Инициализация регистров системной логики и бортового синтезатора частот93 Инициализация кэш-памяти по информации CPUID94 Генерация таблицы векторов, состоящей из указателей на процедуры обработки

прерываний. Инициализация аппаратных средств Power Managment95 Сканирование PCI шины96 Инициализация встроенного контроллера клавиатуры97 Инициализация видео системы98 Вывод сообщений VGA адаптера99 Проверка первого канала контроллера DMA8237 путем записи и контрольного

считывания регистров базового адреса и длины блока пересылки9A Настройка i8259 контроллера прерываний9B Инициализация PS/2 и USB Mouse. Распаковка ACPI кода. Инициализация кэш-

контроллера9C Настройка конфигурационных регистров системной логики. Формирование спи-

ска Plug and Play устройств. Инициализация FDD и HDD контроллеров9D Резервирование PM-региона в системной памяти не выполняется, если таковой

создан в Shadow RAM или SMRAM. В некоторых случаях требуется повторная, за-вершающая инициализация USB шины, выполняемая при отключенной кэш-памяти L1

9E Настройка Power Management, входящей в состав системной логики. Инициали-зация схем генерации SMI и установка вектора SMI. Программирование ресур-сов, отвечающих за мониторинг системных событий PM

9F С помощью операции запрещения и разрешения очищается кэш-память L1/L2 ивосстанавливается ее актуальный размер. Настройки управления режимом энер-госбережения, заданные в CMOS Setup, сохраняются в PM RAM. Для мобильныхплатформ выполняется проверка возврата к полноценному функционированиюпосле отключения всех питающих напряжений (режим Zero Volt Suspend)

16

Phoenix Technologies, Ltd.

Один из лидеров разработки низкоуровневого программного обеспечения Phoe-nix Technologies приурочил к выходу Windows95 новую версию PhoenixBIOS 4.0. Под-держка семейства процессоров Intel Pentium отражается в названии промежуточныхревизий. Одна из последних - Release 6.0 - легла в основу всех выпускаемых BIOS. Споявлением Release 6.1 существенных изменений в выполнении процедур POST не про-изошло, и, следовательно, это не отразилось на индикации контрольных точек.

Отличительная особенность PhoenixBIOS состоит в том, что если в процессе вы-полнения POST возникают ошибки тестирования 512 Кбайт основной памяти (коды 2Ch,2Eh, 30h), в порт 80h выводится дополнительная информация в формате слова, битыкоторого идентифицируют сбойную адресную линию или ячейку данных. Например, код"2C 0002" означает, что обнаружен сбой памяти по адресной линии 1. Код "2E 1020" вэтом случае будет означать, что обнаружен сбой по линиям данных 12 и 5 в младшембайте шины данных памяти. В системах 386SX, где используется шестнадцати битнаяшина данных, возникновение ошибки на этапе выполнения кода 30h невозможно

Вывод в диагностический порт POST кода сопровождается выводом на системныйдинамик звукового сигнала. Схема формирования звукового сигнала следующая:

• Восьми битный код преобразуется в четыре двух битные группы• Значение каждой группы увеличивается на единицу• По полученному значению генерируется короткий звуковой сигнал

Например: код 16h = 00 01 01 10 = 1-2-2-3

Выполнение стартовых процедур POST из ROM

01 Инициализация контроллера Baseboard Management (BMC)02 Проверка текущего режим работы процессора03 Запрет выполнения немаскируемых прерываний04 Определяется тип установленного процессора06 Начальные установки регистров PIC и DMA07 Область в памяти, предназначенная для копии BIOS, обнуляется08 Ранняя инициализация регистров системной логики11 Установка значений альтернативных регистров09 Установка программного флага выполнения POST0A Инициализация программных ресурсов процессора0B Разрешение Internal Cache0E Инициализация ресурсов Super I/O0C Инициализация кэш L1/L2 согласно значениям CMOS0F Инициализация IDE10 Инициализация подсистемы Power Management12 Выполняется установка значения регистра MSW (Machine Status Word)13 Ранняя инициализация PCI устройств14 Инициализация контроллера клавиатуры16 Проверка контрольной суммы ROM BIOS17 Определение объема кэш L1/L218 Инициализация системного таймера 82541A Инициализация контроллера DMA1C Сброс значений программируемого контроллера прерываний20 Проверка формирования запросов регенерации DRAM22 Проверка работы контроллера клавиатуры24 Установка селектора для обслуживания плоской 4Gb модели памяти26 Разрешение линии А20

17

28 Определение суммарного объема установленной памяти29 Инициализация POST Memory Manager (PMM)2A Обнуление 640Kb основной памяти2C Тестирование адресных линий2E Сбой по одной из линий данных в младшем байте шины данных памяти2F Выбор протокола работы кэш памяти30 Тест доступной системной памяти32 Определение тактовых параметров CPU и частоты шины

Выполнение процедур POST из RAM

33 Инициализация Phoenix Dispatch Manager34 Запрет на выключение питания с помощью ATX Power Button35 Настройки регистров системной логики, управляющих формированием времен-

ных характеристик доступа к памяти, портам ввода/вывода, системным и ло-кальным шинам

36 Выполняется рестарт при неудачном переходе к следующей процедуре POST.Последовательностью процедур управляет Watch Dog Service

37 Завершается процесс настройки регистров системной логики38 Содержимое Runtime модуля BIOS распаковывается и переписывается в область,

предназначенную для Shadow RAM39 Повторная инициализация контроллера кэш-памяти3A Повторное определение размера кэш L23B Инициализация трассировки выполнения BIOS3C Дополнительная настройка регистров логики для конфигурирования мостов PCI-

PCI и поддержки распределенных PCI шин3D Выполняется настройка регистров системной логики в соответствии с установка-

ми CMOS Setup3E Read Hardware Configuration3E Проверка подключения системы ROM Pilot40 Определение тактовых параметров CPU41 Инициализация ROM Pilot - управления удаленной загрузкой42 Формирование таблицы векторов прерываний44 Set BIOS Interrupt45 Инициализация устройств до включения PnP механизма46 По специальному алгоритму вычисляется контрольная сумма BIOS47 Инициализация I2O контроллеров ввода/вывода48 Поиск видеоадаптера49 Инициализация PCI4A Инициализация системных видеоадаптеров4B Выполняется Quiet Boot - сокращенная последовательность старта системы, ис-

пользуемая для ускоренного прохождения POST4C Содержимое VGA BIOS переписывается в транзитную область4E Визуализация текстовой строки BIOS Copyright4F Резервирование памяти для меню выбора загрузочных устройств50 Визуализируется тип процессора и его тактовая частота51 Инициализация контроллера и устройств EISA52 Программирование контроллера клавиатуры54 Активизирован режим звукового сопровождения клавиш55 Инициализация контроллера USB58 Поиск необслуживаемых запросов на прерывания59 Инициализация процедуры POST Display Service (PDS)5A Вывод сообщения "Press F2 to enter SETUP"5B Запрет CPU Internal Cache5C Проверка Conventional Memory5E Detect Base Address

18

60 Проверка Extended Memory62 Проверка адресных линий Extended Memory64 Передача управления на выполняемый блок, генерируемый производителем сис-

темной платы (Patch1)66 Настройка регистров управления кэшированием67 Минимальная инициализация контроллеров APIC68 Разрешение кэш L1/L269 Подготовка System Management Mode RAM6A Визуализируется объем External Cache6B Установка значений CMOS Setup по умолчанию6C Визуализация информации об использовании Shadow RAM6E Визуализация информации об Upper Memory Blocks (UMB)70 Вывод сообщений об ошибках72 Проверка текущей конфигурации системы и информации в CMOS76 Проверка информации об ошибках клавиатуры7A Проверка состояния средств программной (System Password) или аппаратной

(Key Lock Switch) блокировки клавиатуры7C Установка векторов аппаратных прерываний7D Инициализации системы слежения за питанием7E Инициализация сопроцессора80 Запрещается бортовой контроллер ввода/вывода SIO81 Выполняется подготовка к загрузке операционной системы82 Поиск и определение портов RS23283 Конфигурирование внешних IDE контроллеров84 Поиск и определение параллельных портов85 Инициализация устройств ISA PnP86 Бортовые ресурсы контроллера SIO конфигурируются в соответствии с установ-

ками CMOS Setup87 Конфигурирование MCD (Motherboard Configurable Devices)88 Устанавливаются значения блока переменных в области BIOS Data Area89 Разрешается формирование немаскируемого прерывания8A Установка значений переменных, находящихся в области Extended BIOS Data

Area8B Проверка схем подключения PS/2 Mouse8C Инициализация контроллера дисковода8F Определение количества подключенных ATA устройств90 Инициализация и конфигурирование контроллеров жестких дисков91 Установка временных параметров работы жестких дисков в режиме PIO92 Передача управления на выполняемый блок, генерируемый производителем сис-

темной платы (Patch2)93 Построение таблицы конфигурации мультипроцессорной системы95 Выбор процедуры обслуживания CD-ROM96 Возврат в Real Mode97 Построение MP Configuration Table98 Выполняется процедура ROM Scan99 Проверка состояния параметра SMART9A Содержимое ROM переписывается в RAM9C Настройка подсистемы Power Management9D Инициализация ресурсов для защиты от несанкционированного доступа9E Разрешаются аппаратные прерывания9F Определяется количество накопителей IDE и SCSIA0 Установка DOS Time по состоянию RTCA1 Назначение данного кода неизвестноA2 Проверка состояния Key LockA4 Установки характеристик автоповтора клавиатуры

19

A8 Сообщение "Press F2 to enter Setup" удаляется с экранаAA Проверяется наличие SCAN кода клавиши F2 во входном буфереAC Запускается программа SetupAE Очищается флаг перезапуска, выполняемого по CTRL+ALT+DELB0 Генерируется сообщение "Press F1 to resume, F2 to Setup"B1 Снимается флаг выполнения POSTB2 Процедура POST завершенаB4 Выдача звукового сигнала перед загрузкойB5 Фаза Quiet Boot завершенаB6 Проверка пароля, если данный режим включен в SetupB7 Инициализация ACPI BIOSB9 Поиск загрузочных устройств на USB шинеBA Инициализация параметров DMIBB Повторное выполнение процедуры ROM ScanBC Обнуляется триггер фиксации ошибки четности RAMBD Визуализируется меню для выбора загрузочного устройстваBE Очистка экрана перед загрузкой операционной системыBF Активизация антивирусной поддержкиC0 Запускается процедура обработки программного прерывания INT 19h - загрузчик

Boot Sector. Процедура обработки прерывания последовательно пытается загру-зить Boot Sector, опрашивая дисковые устройства в порядке, предписанномSetup

C1 Начальная инициализация процедуры обслуживания сбоев (PEM)C2 Вызов служебных процедур для ведения протокола ошибокC3 Визуализация сообщений об ошибках в порядке их поступленияС4 Установка флагов начальных состоянийC5 Инициализация расширенного блока ячеек CMOS RAMC6 Первичная инициализация док-станцииC7 Отложенная инициализация док-станцииС8 Выполнение находящихся в составе Boot Block тестовых процедур определения

целостности структур BIOSС9 Проверка целостности внешних по отношению к системному BIOS структур и/или

модулейCA Запуск Console Redirect для обслуживания удаленной клавиатурыCB Эмуляция дисковых устройств в RAM/ROMCC Запуск Console Redirect для обслуживания видеоCD Поддержка обмена данными с PCMCIACE Настройка контроллера светового пера

Сообщения о фатальных ошибках

D0 Ошибка, вызванная исключительной ситуацией (Exception error)D2 Вызов процедуры обработки прерывания от не идентифицированного источникаD4 Ошибка, связанная с нарушением протокола выдачи и снятия запросов на пре-

рываниеD6 Выход из защищенного режима с программным формированием сбросаD7 Для сохранения состояния видеоадаптера требуется больший объем памяти, чем

доступно в SMRAMD8 Ошибка при программном формировании импульса сброса процессораDA Потеря управления при возврате в Real ModeDC Выход из защищенного режима с программным формированием сброса без по-

вторной инициализации контроллера прерыванийDD Ошибка при тестировании расширенной памятиDE Ошибка контроллера клавиатурыDF Ошибка управления линией A20

20

Выполнение процедур из Boot Block

E0 Настройка конфигурационных регистров чипсетаE1 Инициализация Северного и Южного мостовE2 Инициализация CPUE3 Инициализация системного таймераE4 Инициализация ресурсов Super I/OE5 Проверка состояния Recovery Jumper, установка которого принудительно запус-

кает режим BIOS RecoveryE6 Проверка контрольной суммы BIOSE7 Управление передается BIOS, если его контрольная сумма вычислена правильноE8 Инициализация поддержки MPSE9 Переход к плоской 4Gb модели памятиEA Инициализация нестандартного оборудованияEB Настройка контроллера прерываний и прямого доступа к памятиEC Путем записей и контрольных считываний по специальному алгоритму определя-

ется тип памяти: FPM, EDO, SDRAM, в соответствии с результатом настраиваютсяконфигурационные регистры Host Bridge

ED Путем записей и контрольных считываний по специальному алгоритму определя-ется объем банков памяти и размещение по строкам. В соответствии с результа-том настраиваются конфигурационные регистры Host Bridge (DRAM RowBoundary)

EE Содержимое Boot Block копируется в Shadow RAMEF Подготовка SMM RAM для обработчика SMIF0 Тест памятиF1 Инициализация векторов прерыванийF2 Инициализация Real Time ClockF3 Инициализация видео подсистемыF4 Генерация звукового сигнала перед загрузкойF5 Загрузка операционной системы, хранящейся во Flash ROMF6 Возврат в Real ModeF7 Boot to Full DOSF8 Инициализация контроллера USBFA…FF Коды взаимодействия с процедурой PhDebug

21

Insyde Software Corp.

Инсайдер рынка мобильных систем прочно обосновался там, где требуется вер-ность традициям и консервативный подход к построению BIOS. Получив в наследствоисходный код от SystemSoft, компания постоянно работает над его совершенствовани-ем. Последняя из ревизий MobilePRO активно используется в ноутбуках Mitac и Clevo,документация к которым и легла в основу таблицы Error Codes - так в Insyde Softwareназывают контрольные точки выполнения POST.

Контрольные точки загрузочного блока

Несмотря на то, что свой первый BIOS компания Insyde Software создала в 1992году, устоявшая модель загрузочного блока, - или Boot Loader, как его назвали самисоздатели, - окончательно сформировалась только к концу 1995 года. С этого моментастартовая процедура получила нумерацию по версии и дате создания.

Наиболее существенным моментом с точки зрения сервисного инженера, иссле-дующего процесс загрузки компьютерной системы с InsydeBIOS, становится устройствоотображения диагностических кодов. Хотя, как правило, Boot Loader использует стан-дартный в таких случаях Manufacture's Diagnostic Port 80h, в некоторых случаях выводконтрольных точек выполняется только на PIO Port (Parallel Input/Output port fordiagnostic purpose), который представляет собой не что иное, как параллельный порт378h. Существуют реализации, в которых диагностические коды, посылаемые в порт80h, дублируются и в параллельный порт.

00 Стартовая точка выполнения загрузочного блока01 Запрет линии А20 (не используется)02 Обновление микрокода центрального процессора03 Тестирование оперативной памяти04 Перенос загрузочного блока в оперативную память05 Выполнение загрузочного блока из оперативной памяти06 Форсирование процедуры восстановления Flash ROM07 Перенос системного BIOS в оперативную память08 Верификация контрольной суммы системного BIOS09 Запуск процедуры POST0A Запуск процедуры восстановления Flash ROM с накопителя FDD0B Инициализация синтезатора частот0C Завершение процедуры восстановления BIOS0D Альтернативная процедура восстановления Flash ROM с FDD0F Останов в случае возникновения фатальной ошибкиBB Ранняя инициализация LPC SIOCC Стартовая точка начала восстановления Flash ROM88 Разрешение функций ACPI99 Ошибка при выходе из режима STR60 Переход в режим Big Real Mode61 Инициализация SM Bus. Данные SPD сохраняются в CMOSA0 Чтение и анализ полей SPD, ранее сохраненных в CMOSA1 Инициализация контроллера памятиA2 Определение логических банков модуля DIMMA3 Программирование регистров DRB (DRAM Row Boundary)A4 Программирование регистров DRA (DRAM Row Attributes)

22

AE В системе обнаружены модули DIMM, которые разнятся между собой функциямиError Correcting Codes (ECC)

AF Первичная инициализация регистров контроллера памяти, отображаемых в про-странстве памяти

E1 Выполнение загрузочной процедуры прекращается, если модуль DIMM не осна-щен микросхемой SPD

E2 Тип модуля DIMM не соответствует требованиям системыEA Минимальное время между активацией строк DIMM модуля и переходом в со-

стояние регенерации не соответствует системным требованиямEC Регистровые модули не поддерживаютсяED Проверка режимов CAS LatencyEE Организация модуля DIMM не поддерживается системной платой

Выполнение процедур POST из RAM

Самые современные решения InsydeBIOS используют 16-битное отображениеконтрольных точек. Для этого используются порты 80h и 81h, последний из которыхпредназначен для расширения стандартной диагностики.

Изучение контрольных точек затрудняется их нерегулярным построением, когдаразличные по смыслу процессы сопровождаются одними и теми же кодами. В дуальныхдиагностических системах существуют разнородности другого порядка: некоторыеPOST коды отображаются только в один из портов без привычного в таких случаях дуб-лирования.

10 Инициализация кэш-памяти, проверка CMOS11 Запрет линии А20. Установка регистров контроллеров 8259.12 Определение способа загрузки13 Инициализация контроллера памяти14 Поиск подключенного к шине ISA видео адаптера15 Установка значений системного таймера16 Установка регистров системной логики по CMOS17 Подсчет общего объема оперативной памяти18 Тестирование младшей страницы Conventional Memory19 Проверка контрольной суммыы образа Flash ROM1A Повторная установка регистров контроллера прерываний1B Инициализация видео адаптера1C Инициализация подмножества регистров видео адаптера, совместимых с про-

граммной моделью 68451D Инициализация EGA адаптера1E Инициализация CGA адапетра1F Тест страничных регистров DMA контроллера20 Проверка контроллера клавиатуры21 Инициализация контроллера клавиатуры22 Сравнение полученного объема оперативной памяти со значением в CMOS23 Проверка автономного батарейного питания и Extended CMOS24 Тестирование регистров контроллера DMA25 Установка параметров DMA контроллера26 Формирование таблицы векторов прерываний27 Ускоренное определение объема установленной памяти28 Защищенный режим29 Тест системной памяти выполнен2A Выход из защищенного режима

23

2B Перенос процедуры Setup в оперативную память2C Запуск процедуры инициализации видео2D Повторный поиск CGA адаптера2E Повторный поиск EGA/VGA адаптера2F Вывод на экран сообщений VGA BIOS30 Пользовательская процедура инициализации контроллера клавиатуры31 Проверка подключенной клавиатуры32 Проверка прохождения запроса от клавиатуры33 Проверка регистра статуса клавиатуры34 Тест и обнуление системной памяти35 Защищенный режим36 Расширенный тест памяти завершен37 Выход из защищенного режима38 Запрет линии А2039 Инициализация кэш-контроллера3A Проверка системного таймера3B Установка счетчика DOS Time в соответствии с Real Time Clock3C Инициализация таблицы аппаратных прерываний3D Поиск и инициализация манипуляторов и указателей3E Установка статуса клавиши NumLock3F Инициализация последовательных и параллельных портов40 Конфигурирование последовательных и параллельных портов41 Инициализация FDD контроллера42 Инициализация HDD контроллера43 Инициализация Power Management для шины USB44 Поиск и инициализация дополнительных BIOS45 Повторная установка статуса клавиши NumLock46 Проверка функциональности сопроцессора47 Инициализация PCMCIA48 Подготовка к старту операционной системы49 Передача управления исполняемому Bootstrap коду50 Инициализация ACPI51 Инициализация Power Management52 Инициализация контроллера шины USB

24

Все изменения и дополнения к настоящему документу, а также текущая под-держка и другая полезная информация доступна на странице разработчика в Интернет:

http://icbook.com.ua/