Post card коды. Новое поколение POST-карт

POST- коды Award BIOS Medallion V 6.0

POST-код (hex) Выполненная проверка

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

CF Раннее определение типа процессора. Запись результатов в CMOS. Функциональный тест чтения/записи CMOS.

Если определение типа процессора или запись в CMOS закончились неудачей, устанавливается фатальная ошибка операции и выполнение POST останавливается

C0 Предварительная инициализация чипсета.

Запрет областей теневого ОЗУ, отключение кэша L2. Очистка кэша L1.

Программирование следующих базовых регистров чипсета.

  • Контроллеров прерываний: прием по фронту IRQ, Master Controller — IRQ 00h=INT 8...IRQ 7=INT 0Fh, Slave Controller — IRQ 8= INT 70h...IRQ 15=INT 77h.
  • Контроллеров ПДП.
  • Интервального таймера: Counter 0 — режим деления частоты на 65 536 (18,2 Гц) для генерации запросов IRQ 0 системных часов. Counter 1 — выработка импульсов для регенерации DRAM (128 циклов выполняется за 2 мс или интервал между регенерацией двух строк составляет около 15 мкс). Counter 2 — используется для озвучивания системного динамика.
  • RTC инициализируется в том случае, если произошел сбой питания от аккумулятора. Если сбоя Vcc (bat) не было, то инициализируются только регистры, отвечающие за взаимодействие RTC и процессора, но не часы

Проверка типа, объема, старшего адреса и ECC ОЗУ. Проверка первых 256 Кбайт ОЗУ.

Организация в этой области транзитного буфера, в который из Flash BIOS

копируется Boot Block для проверки контрольных сумм

Проверка контрольной суммы BIOS и наличия метки BBSS. Если проверки некорректны,

принимается решение о частичном повреждении ИМС Flash BIOS. Если проверки

корректны, то в буфер копируется программа распаковки системной BIOS

Распаковка системной BIOS в ОЗУ, копирование в ОЗУ факультативной системы

BIOS. Подготовка к затенению BIOS

Копирование выполняемого кода POST в область E000h-F000h теневого ОЗУ.

Передача управления модулю Boot Block.

Начало выполнения POST из теневого ОЗУ.

Проверка целостности структуры BIOS. Если контрольные суммы проверки служебных полей BIOS совпадают, выполнение проверки ОЗУ продолжается, в противном случае управление передается программам восстановления BIOS

Выполнение POST в теневом ОЗУ (Shadow RAM )

1 По физическому адресу 1000:0000h распаковывается модуль BIOS — программа XGROUP, позволяющая установить все ресурсы системной платы, включая системный таймер, контроллеры прерываний и ПДП, математический сопроцессор и видеоконтроллер по умолчанию

3 Выполнение ранней инициализации чипа Super I/O, первый этап был выполнен на шагах алгоритма CFh и C0h

5 Установка начальных атрибутов видеосистемы.

Проверка флага состояния CMOS, его содержимое обнуляется

7 Сброс входного и выходного буферов контроллера клавиатуры (совместимого с ИМС 8042 или 8742). Контроллер входит в состав чипа Super I/O системной

платы. Самотестирование, инициализация контроллера клавиатуры. Разрешается подключение интерфейса клавиатуры

Запрет подключения интерфейса компьютерной мыши PS/2.

Определяется тип интерфейса клавиатуры (PS/2 или AT/DIN). Программируется

контроллер клавиатуры. Разрешается использование клавиатуры

Интерфейс PS/2-мыши еще запрещен.

Для некоторых систем — определение портов, к которым подключены PS/2-клавиатура

и мышь, что может вызвать переназначение портов

Проверка теневого сегмента F000h циклами чтения и записи. Данная область

будет использоваться для DMI и ESCD. Если проверка некорректна, то

вырабатывается звуковой сигнал и код ошибки EFh выводится в порт 0080h

Если записанные и считанные данные из сегмента F000h не совпадают,

констатируется ошибка и выполнение POST останавливается

10 Определение типа установленной Flash BIOS. Проверка позволяет выбрать для BIOS соответствующую программу записи, с помощью которой загружается специальная команда Read Intelligent Identifier. Команда используется также процедурами модификации блоков ESCD и DMI, которые могут быть перезаписаны как при загрузке, так и после нее — при обращении приложений к функциям Plug and Play или DMI.

Код BIOS, выполняемый в рабочем сеансе, будет декодирован и переписан в область Run-time area (F000h).

Программирование регистров чипсета

12 Выполнение цепочки тестов CMOS. В часах RTC устанавливается режим питания. Ячейки CMOS используются в дальнейшем для хранения промежуточных результатов в ходе процедуры инициализации. В частности, в ячейки загружаются значения по умолчанию

14 Выполнение ранней инициализации чипсета. На первом этапе программируются ресурсы, недоступные разработчику системной платы. На втором этапе в регистры чипсета загружаются значения, изменяемые с помощью утилиты MODBIN. Становится возможной тонкая настройка ОЗУ и устройств PCI

16 Ранняя инициализация системного тактового генератора — установка значений по умолчанию

18 Определение параметров процессора: компании производителя, семейства, поколения, определение вида и объема кэша L1 и L2, типа SMI. Выполнение функции команды CPUID (коды и архитектура процессоров различных производителей отличаются).

Проверка регистров процессора, измерение тактовой частоты ядра процессора. После выполнения функции результат размещается в 128-разрядном слове, образованном ячейками регистров центрального процессора — EAX+EBX+ECX+EDX. Для расшифровки значения используемого кэша код сдвигается и перемещается в регистр AL

Инициализация таблицы векторов прерываний (объем 1 024 байта, 256 типов

прерываний). На данном этапе устанавливаются типы для 32 векторов (INT 00h-

INT 1Fh), указывающих на процедуры BIOS.

Выполнение проверок, направленных на обеспечение требований Y2K

Проверка контрольной суммы CMOS и соответствия напряжения питания

аккумулятора номиналу. Если выявлены ошибки — устанавливаются значения по

умолчанию, задаваемые производителем системной платы

На данном этапе прием скан-кодов с клавиатуры и их обработка контроллером 8742 и процессором невозможны, поскольку запрещены прерывания, не подготовлена область данных BIOS, а клавиатура не инициализирована. Настройки Setup BIOS не должны противоречить выполнению последовательности POST

21 Инициализация системы Hardware Power Management для ноутбуков.

Формирование таблицы физических параметров, структуры для обслуживания автономного аккумуляторного питания, функций энергосбережения при работе жестких дисков, а также операций сохранения образа ОЗУ на диске

23 Обнаружение математического сопроцессора.

Проверка количества цилиндров — 40 или 80, а также типа установленного флоппи-диска.

Выполнение ранней инициализации чипсета.

Подготовка карты ресурсов BIOS, предназначенной для дальнейшей инсталляции устройств Plug and Play, а также УВВ на шине PCI

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

  • С помощью команды CPUID идентифицируется процессор и определяются его параметры — тип (Type), семейство (Family), модель (Model) и коэффициент умножения частоты (Stepping).
  • Из модуля обновления микрокода, хранимого в BIOS, считывается нужный блок объемом 2 048 байт и распаковывается не в ОЗУ, а в SM RAM.
  • Обновляется микрокод процессора.

Для некоторых процессоров Intel выполняется дополнительная идентификация. Обновляется карта распределения ресурсов

Инициализируются устройства Plug and Play. Информация о ресурсах, затребованных устройствами Plug and Play, обновляется на основании сканирования данных из CMOS, расширений BIOS, расположенных на шинах расширения УВВ, а также информации, хранящейся в блоке данных ESCD. Запись данных в ESCD откладывается на финальную стадию выполнения POST

25 Ранняя инициализация PCI. Перечисление устройств на шине. Назначение ресурсов ОЗУ и УВВ.

Поиск устройства видеосистемы, расширения BIOS и запись информации в область C000:0h (сегментный адрес в регистре CS:адрес смещения в регистре IP)

26 Настройка логики, обслуживающей линии Vendor Identification.

Завершение инициализации системного тактового генератора. Отключение синхронизации неиспользуемых слотов DIMM и PCI.

Инициализация системы мониторинга напряжений и температур, выполняемая в соответствии с типом системной платы

На данном этапе прием скан-кодов с клавиатуры и их обработка контроллером 8742 и процессором невозможны, поскольку запрещены прерывания, не подготовлена область данных BIOS, а клавиатура не инициализирована. Настройки Setup BIOS не должны противоречить выполнению последовательности POST

27 Разрешение прерывания INT 09h. Повторная инициализация контроллера клавиатуры на основе новых данных (таблицы векторов прерываний, инициализации чипсета).

Для BIOS формируется 16-символьный буфер ввода и устанавливается область памяти для полноценного функционирования

29 Программирование регистров MTRR процессора поколения Р6, а также инициализация контроллера APIC процессоров Pentium.

Программирование чипсета (например, контроллера IDE) в соответствии

с установками в CMOS.

Измерение внутренней частоты процессора.

Вызов расширения BIOS видеосистемы

Инициализация модуля многоязычности.

Посылка данных для отображения на экране дисплея (заставка Award, тип

процессора и его скорость)

Программирование чипа Super I/O

Проверка битов маскирования канала 1 контроллера прерываний (совместимого

40 Проверка битов маскирования канала 2 контроллера прерываний (совместимого с ИМС 8259)

Проверка функционирования контроллера прерываний (совместимого с ИМС 8259)

Подсчет общей памяти проверкой каждого двойного слова в каждой странице 64 Кбайт.

Запись программы, предназначенной для проверки процессоров семейства AMD

Программирование регистров MTRR процессора семейства Syrix. Инициализация

кэша L2 процессоров поколения P6, а также инициализация APIC для P6

Инициализация шины USB

Проверка всей памяти, очистка расширенной памяти

55 Для многопроцессорной платформы выполняется отображение числа процессоров

57 Отображение экрана логотипа Plug and Play. Ранняя инициализация устройств Plug and Play

59 Активизация ресурса антивирусной защиты — интегрированного антивирусного средства Trend Anti-Virus

60 Этап, позволяющий загрузить программу Setup.

До этой стадии POST вы должны успеть нажать соответствующую клавишу

65 Инициализация компьютерной мыши PS/2

67 Подготовка информации для адресного пространства, предназначенного для функции вызова: INT 15h (содержимое регистра AX=E820h)

На данном этапе прием скан-кодов с клавиатуры и их обработка контроллером 8742 и процессором невозможны, поскольку запрещены прерывания, не подготовлена область данных BIOS, а клавиатура не инициализирована. Настройки Setup BIOS не должны противоречить выполнению последовательности POST

Включение кэша L2

Программирование регистров чипсета в соответствии с элементами, описанными

в Setup и в таблице автоконфигурирования

Назначение ресурсов для всех устройств Plug and Play.

Автоматическое распределение COM-портов для интегрированных устройств

в том случае, если установлена опция Setup “AUTO”

Инициализация контроллера флоппи-дисков.

Дополнительная настройка регистров флоппи-диска

73 Факультативная функция ввода утилиты обновления BIOS AWDFLASH.EXE, если она находится на флоппи-диске и выбрана комбинация клавиш

75 Обнаружение и инсталляция всех IDE-устройств: жестких дисков, LS-120, ZIP, CD-R/RW, DVD и т.д.

Если обнаружена ошибка, выводится соответствующее сообщение, и программа ожидает нажатия клавиши.

Если ошибка не обнаружена или нажата клавиша , выполнение POST продолжается.

Очистка заставки с логотипом EPA или производителя

82 В зависимости от типа чипсета и системной платы в ОЗУ выделяется область для управления питанием.

В таблицу ESCD вносятся последние изменения, связанные с управлением питанием.

После снятия заставки с логотипом EPA видеорежим восстанавливается. Запрос пароля, если таковой предусмотрен установками CMOS

83 Восстановление данных из стека временного хранения в CMOS

84 Вывод на экран сообщения “Initializing Plugand Play Cards...” об обнаруженных ранее устройствах Plug and Play и параметрах

85 Завершение инициализации USB.

Определение порядка загрузки с жестких дисков SCSI

87 Переключение видеосистемы на текстовый режим работы.

Построение таблиц SYSID в области DNI согласно спецификации “System Management BIOS”.

Для обслуживания сетевых устройств создается идентификатор UUID (Universal Unique ID), а также идентификатор для загрузки с устройств Fire Wire IEEE 1394

На данном этапе все основные процедуры инициализации завершены. Выполняется подготовка к загрузке операционной системы, составляются необходимые для этого таблицы, формируются массивы, структуры

89 Если программой Setup предусмотрено использование протокола ACPI, в верхнюю область адресного пространства 4 Гбайт вставляются соответствующие таблицы

Сканирование в пространстве PCI расширений BIOS, предназначенных для

реализации протокола AOL (Alert On LAN). Инициализация средств AOL

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

прерывания NMI.

Разрешение использования контроля четности модулей ОЗУ

Для горячего подключения мыши PS/2 разрешается линия IRQ 12.

Обслуживание линии IRQ 11, нормализация параметров шумовых помех линий

запросов прерываний

91 Подготовка условий для обслуживания жестких дисков в режиме Power Management. Операции подобного типа (Suspend to RAM) могут быть реализованы в рабочем сеансе операционной системы.

Установка переменных BIOS, хранящих базовые адреса последовательных и параллельных портов, которые располагают программами расширения BIOS

93 Подготовка к сохранению информации о разделах загрузочных устройств

94 Если Setup предусмотрена, включается кэш L2. Программируется параметр Boot Up Speed.

Завершение инициализации чипсета и системы управления питанием.

Снятие стартовой заставки BIOS, на экран монитора выводится таблица распределения ресурсов.

Настройка регистров процессоров семейства AMD K6. Завершающее обновление регистров процессоров семейства Intel P6.

Окончательная инициализация подсистемы удаленной загрузки Remote Pre Boot

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

Программирование контроллера клавиатуры на число нажатий в секунду и время ожидания до входа в режим автоповтора.

Чтение идентификатора клавиатуры KBD ID.

Для 101-кнопочной клавиатуры устанавливается флаг NumLock в соответствии с информацией CMOS

96 Сохранение информации о разделах загрузочных устройств.

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

Настройка регистров процессоров семейства Cyrix.

Заполнение и корректировка таблицы ESCD в соответствии с состоянием системы Power Management устройств Plug and Play и ATAPI.

Корректировка CMOS в соответствии с требованиями протокола Y2K.

Установка счетчика системных часов DOS Time в соответствии с показаниями RTC CMOS. Значение времени из формата “часы:минуты:секунды” пересчитывается

в такты (временные интервалы следования импульсов) интервального таймера 18,2 Гц и записывается в область переменных BIOS — DOS Time.

На данном этапе все основные процедуры инициализации завершены. Выполняется подготовка к загрузке операционной системы, составляются необходимые для этого таблицы, формируются массивы, структуры

Сохранение разделов устройств загрузки для дальнейшего использования интегрированными антивирусными средствами Trend Anti-Virus и Paragon Anti-Virus Protection.

Разрешение использования кэша L1.

На динамик системного блока генерируется звуковой сигнал окончания POST. Построение и сохранение таблицы MSIRQ.

Выполнение подготовки к загрузке операционной системы

FF Передача управления программе-загрузчику начального сектора BOOT. Выполнение прерывания BIOS INT 19h.

Вызванная подпрограмма позволяет (в соответствии с опцией меню BIOS Features Set Up программы Setup) опросить загрузочные устройства для поиска сектора загрузки. Для загрузки информация из сектора Цилиндр: 0, Головка: 0, Сектор:

1 считывается по адресу 07C0:0000h, после чего управление командой FAR JMP передается на начало этого блока

Выполнение программы, записанной в загрузочном секторе

ПРИМЕЧАНИЕ.

ECC (Error Correcting Code) — код коррекции ошибок применяется в модулях ОЗУ, способствуя повышению отказоустойчивости ПК. ECC позволяют исправить ошибку в одном разряде и обнаружить в двух разрядах. Поэтому компьютер, в памяти которого используются подобные коды, в случае ошибки в одном разряде может работать без прерывания, причем данные не будут искажены

BBSS (Boot Block Specification Signature) — метка сигнатуры спецификации загрузочного блока.

SMI (System Management Interrupt) — аппаратное обеспечение, интегрированное в процессор, предназначенное для управления потребляемой мощностью. Для обслуживания этих компонентов используется высокоприоритетное прерывание.

Y2K требования, предъявляемые к коммерческим продуктам компьютерных систем для обеспечения функциональной совместимости, функциональности и прочих параметров, имевших место до и после 2000 года.

DMI (Desktop Management Interface) — протокол, позволяющий обеспечить взаимодействие программных средств с компонентами системных плат.

MTRR (Memory Type Range Registers) — регистры процессоров поколений P6 и P7, в которые заносятся данные, описывающие свойства областей памяти и определяющие тип кэши-рования памяти.

APIC ( Advanced Programmable Interruption Controller) — усовершенствованный программируемый контроллер прерываний , входящий в состав чипсета. Процессор поколения P6 также располагает подобным контроллером для мультипроцессорного применения.

MSIRQ (Microsoft IRQ Routing Map) — таблица карты распределения прерываний , стандартизирована Microsoft.

SM RAM (System Management RAM) — одно из названий оперативной регистровой памяти небольшой емкости, предусмотренной в архитектуре процессоров, начиная с Pentium Pro и выше, предназначенной для хранения служебных данных.

В случае неадекватного завершения каждого из процессов алгоритм переходит на обра ботку особого случая, и POST BIOS Medallion генерирует коды, отмеченные ниже:

POST- коды особых случаев Award BIOS V 6.0 Medallion

Код системных событий (System Events codes)

Код, активизируемый при обслуживании компонентов APM или ACPI (Power Management Debug codes)

Энергосбережение с отключением напряжения питания +12 В

Переход в режим работы с минимальным энергопотреблением

Прерывание для выхода из режима энергосбережения по событию

Переход процессора в режим энергосбережения путем снижения его тактовой

Переход в режим частичного энергосбережения с использованием технологии ACPI

Использование компонента SMI для перехода в режим энергосбережения

Переход процессора в режим энергосбережения с использованием технологии APM

Переход системы в режим энергосбережения с использованием технологии APM

Перевод системы в режим полного энергосбережения

Сообщение о фатальных ошибках выполнения операций (System Error codes)

Ошибка обработки кода ECC

Ошибка жесткого диска при возврате из режима энергосбережения

Несовпадение данных при записи в сегмент F000h и считывании из него

Для сокращения времени прохождения тестовой программы POST Award BIOS вы можете воспользоваться опцией Quick Power On Self Test, которую можно обнаружить в программе Setup. В этом случае запускается модифицированная версия теста Award Software, которая, в отличие от полной версии программы, выполняется быстро.

Коды контрольных точек POST AMI BIOS 8 V1.4

Представление о дисплее кодов контрольных точек

Для отображения контрольных точек POST AMI BIOS применяются диагностические платы POST Diagnostic Card, индикаторы на системных платах, а также дисплеи контроль ных точек AMI BIOS Checkpoint Display .

Дисплей представляет собой строку кода в нижнем правом углу экрана монитора, отобра жаемую во время прохождения POST

Недостаток использования дисплея кодов контрольных точек состоит в невозможности при-менения этого метода при отключенной видеосистеме.

Назначение диспетчера инициализации устройст

В различные периоды тестирования POST управление передается специальной про грамме диспетчеру инициализации устройств DIM (Device Initialization Manager).

Эта программа получает управление от BIOS в том случае, если необходимо проверить сис темные или локальные шины компьютера. Существует несколько контрольных точек POST, предназначенных для запуска этой программы.

2Ah инициализация устройств на системной шине.

38h инициализация устройств IPL.

39h индикация ошибок при инициализации шин.

95h инициализация шин, управляемых расширениями BIOS.

DEh — ошибка конфигурации ОЗУ.

DFh — ошибка конфигурации ОЗУ.

Сообщения, генерируемые DIM, также выводятся в диагностический порт 80h и хранятся в информационном слове в процессе выполнения проверки.

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

Поля старшей тетрады.

Инициализация всех устройств на интересующих шинах запрещена.

Инициализация статических устройств на интересующих шинах.

Инициализация устройств вывода информации на интересующих шинах.

Инициализация устройств ввода информации на интересующих шинах.

Инициализация устройств системной загрузки (IPL) на интересующих шинах.

Инициализация устройств общего назначения на интересующих шинах.

Сообщение об ошибках для интересующих шин.

Инициализация устройств, управляемых расширениями BIOS (для всех шин).

Инициализация загрузочных расширений BIOS, соответствующих BIOS Boot Specification (для всех шин).

Младшая тетрада.

Системные процедуры инициализации (DIM).

Шины подключения интегрированных системных устройств.

Шина ISA Plug and Play.

Шина PCMCIA.

В том случае, если обнаружена ошибка конфигурации ОЗУ, в диагностический порт вы водится циклическая последовательность кодов DEh, DFh и контрольных точек конфигура ции, которые могут принимать следующие значения.

00 ОЗУ не обнаружено.

01 установлены модули DIMM различных типов.

02 чтение из узла SPD (Serial Presence Detect) модуля DIMM произведено неудачно.

03 модуль DIMM не может быть использован на данной частоте.

04 модуль DIMM не может быть использован в данной системе.

05 ошибка в младшей странице памяти.

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 Несовпадение контрольных сумм в стартовом BIOS CF Ошибка в доступе к запасной микросхеме Flash ROM
DD Ранняя инициализация RTC, который интегрирован в SIO чип
D0 Запрет немаскируемого прерывания NMI. Отработка временной задержки для за- тухания переходных процессов. Проверка контрольной суммы Boot Block, оста- нов при несовпадении
D1 Выполнение процедуры регенерации памяти и Basic Assurance Test. Переход в 4 GB режим адресации памяти
D3 Определение объема и первичный тест памяти
D4 Возврат в реальный режим адресации памяти. Ранняя инициализация чип сета. Установка стека
D5 Перенос модуля POST из Flash ROM в транзитную область памяти
D6 При несовпадении контрольной суммы или CTRL+Home выполняется переход на процедуру восстановления Flash ROM (Код E0)
D7 Передача управления служебной программе, осуществляющей распаковку сис- темного BIOS
D8 Полная распаковка системного BIOS
D9 Передача управления системному BIOS в Shadow RAM
DA Чтение информации из SPD (Serial Presence Detect) модулей DIMM DB Настройка MTRR регистров центрального процессора
DC Контроллер памяти программируются согласно данным, полученным из SPD DE Ошибка конфигурации системной памяти. Фатальная ошибка
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, поиск и инициализация BIOS
E2 Подготовка контроллеров прерываний и непосредственного доступа к памяти
E6 Разрешение прерываний от системного таймера и FDC
EC Повторная инициализация контроллеров IRQ и DMA ED Инициализация дисковода
EE Чтение загрузочного сектора с дискеты EF Ошибка дисковых операций
F0 Поиск файла AMIBOOT.ROM
F1 В корневом каталоге файл AMIBOOT.ROM не найден F2 Считывание FAT
F3 Считывание AMIBOOT.ROM
F4 Объем файла AMIBOOT.ROM не соответствует объему Flash ROM
F5 Запрет Internal Cache
FB Определение типа Flash ROM
FC Стирание основного блока Flash ROM
FD Программирование основного блока Flash ROM
FF Рестарт BIOS

Коды распакованного системного BIOS, выполняемые в ShadowRAM

Runtime code is uncompressed in F000 shadow RAM

Код ошибки Описание ошибки
03 Запрет немаскируемого прерывания NMI. Определение типа сброса
05 Инициализация стека. Запрет кэширования памяти и контроллера USB
06 Выполнение в ОЗУ служебной программы
07 Распознавание процессора и инициализация APIC
08 Проверка контрольной суммы CMOS
09 Проверка отработки клавиш End/Ins
0A Проверка сбоя батарейного питания
0B Очистка буферных регистров контроллера клавиатуры
0C Контроллеру клавиатуры передается команда тестирования
0E Поиск дополнительных устройств, обслуживаемых контроллером клавиатуры
0F Инициализация клавиатуры
10 Клавиатуре передается команда сброса
11 Если нажата клавиша End или Ins, выполняется сброс CMOS 12 Перевод в пассивное состояние контроллеров DMA
13 Инициализация чип сета и кэш L2
14 Проверка системного таймера
19 Выполняется тест формирования запросов на регенерацию DRAM
1A Проверка длительности цикла регенерации
20 Инициализация устройств вывода
23 Считывается порт ввода контроллера клавиатуры. Опрашивается Keylock Switch и Manufacture Test Switch
24 Подготовка к инициализации таблицы векторов прерываний
25 Инициализация векторов прерываний завершена
26 Через порт ввода контроллера клавиатуры опрашивается состояние перемычки Turbo Switch
27 Первичная инициализация контроллера USB. Обновление микрокода стартового процессора
28 Подготовка к установке видеорежима
29 Инициализация LCD панели
2A Поиск устройств, обслуживаемых дополнительными ROM
2B Инициализации VGA BIOS, проверка его контрольной суммы
2C Выполнение VGA BIOS
2D Согласование INT 10h и INT 42h
2E Поиск видеоадаптеров CGA
2F Тест видеопамяти адаптера CGA
30 Тест схем формирования разверток адаптера CGA
31 Ошибка видеопамяти или схем формирования разверток. Поиск альтернативного видеоадаптера CGA
32 Тест видеопамяти альтернативного видеоадаптера CGA и схем разверток
33 Опрос состояния перемычки Mono/Color
34 Установка текстового режима 80х25
37 Видеорежим установлен. Экран очищен
38 Инициализация бортовых устройств
39 Вывод сообщений об ошибках на предыдущем шаге
3A Вывод сообщения «Hit DEL» для входа в CMOS Setup
3B Начало подготовки к тесту памяти в защищенном режиме
40 Подготовка дескрипторных таблиц GDT и IDT
42 Переход в защищенный режим
43 Процессор в защищенном режиме. Прерывания разрешены
44 Подготовка к проверке линии A20
45 Тест линии A20
46 Определение размера ОЗУ выполнено
47 Тестовые данные записаны в Conventional Memory
48 Повторная проверка Conventional Memory
49 Тест Extended Memory
4B Обнуление памяти
4C Индикация процесса обнуления
4D Запись в CMOS полученных размеров Conventional и Extended memory 4E Индикация реального объема системной памяти
4F Выполняется расширенный тест Conventional Memory
50 Коррекция размера Conventional Memory
51 Расширенный тест Extended Memory
52 Объемы Conventional Memory и Extended Memory сохранены
53 Обработка отложенных ошибок четности
54 Запрет контроля четности и обработки немаскируемых прерываний
57 Инициализация региона памяти для POST Memory Manager
58 Выводится приглашение для входа в CMOS Setup
59 Возврат процессора в реальный режим
60 Проверка страничных регистров DMA
62 Тест регистров адреса и длины пересылки контроллера DMA#1
63 Тест регистров адреса и длины пересылки контроллера DMA#2
65 Программирование контроллеров DMA
66 Очистка регистров Write Request и Mask Set POST
67 Программирование контроллеров прерываний
7F Разрешение запроса NMI от дополнительных источников
80 Устанавливается режим обслуживания прерываний от порта PS/2
81 Тест интерфейса клавиатуры при ошибках сброса
82 Установка режима работы контроллера клавиатуры
83 Проверка статуса Keylock
84 Верификация объема памяти
85 Вывод на экран сообщений об ошибках
86 Настройка системы для работы Setup
87 Распаковка программы CMOS Setup в Conventional Memory.
88 Работа программы Setup завершена пользователем
89 Завершено восстановление состояния после работы Setup
8B Резервирование памяти дополнительному блоку переменных BIOS
8C Программирование конфигурационных регистров
8D Первичная инициализация контроллеров HDD и FDD
8F Повторная инициализация контроллера FDD
91 Конфигурирование контроллера жестких дисков
95 Выполняется ROM Scan для поиска дополнительных BIOS
96 Дополнительная настройка системных ресурсов
97 Проверка сигнатуры и контрольной суммы дополнительного BIOS
98 Настройка System Management RAM
99 Установка счетчика таймера и переменных параллельных портов 9A Формирование списка последовательных портов
9B Подготовка области в памяти для теста сопроцессора
9C Инициализация сопроцессора
9D Информация о сопроцессоре сохраняется в CMOS RAM
9E Идентификация типа клавиатуры
9F Поиск дополнительных устройств ввода
A0 Формирование регистров MTRR (Memory Type Range Registers)
A2 Сообщений об ошибках на предыдущих этапах инициализации
A3 Установка временных характеристик автоповтора клавиатуры
A4 Дефрагментирование неиспользованных регионов RAM
A5 Установка видео режима
A6 Очистка экрана
A7 Перенос исполняемого кода BIOS область Shadow RAM
A8 Инициализация дополнительного BIOS в сегменте E000h
A9 Возврат управления системному BIOS AA Инициализация USB шины
AB Подготовка модуля INT13 для обслуживания дисковых сервисов
AC Построение таблиц AIOPIC для поддержки мультипроцессорных систем AD Подготовка модуля INT10 для обслуживания видео сервисов
AE Инициализация DMI
B0 Таблица конфигурации системы выведена B1 Инициализация ACPI BIOS
00 Программное прерывание INT19h – загрузка Boot Sector

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

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

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

Старшая тетрада
Младшая тетрада

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

2. Award BIOS V4.51PG Elite

AwardBIOS V4.51PG Elite

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

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

Код ошибки Описание ошибки
03 Запрет NMI, PIE (Periodic Interrupt Enable), AIE (Alarm Interrupt Enable), UIE (Update Interrupt Enable). Запрет генерации программируемой частоты SQWV
04 Проверка формирования запросов на регенерацию DRAM
05
06 Тест области памяти, начинающейся с адреса F000h, где размещен BIOS 07 Проверка функционирования CMOS и батарейного питания
BE Программирование конфигурационных регистров Южного и Северного Мостов
09 Инициализация кэш-памяти L2 и регистров расширенного управления кэширова- нием процессора Cyrix
0A Генерация таблицы векторов прерываний. Настройка ресурсов Power Management и установка вектора SMI
0B Проверка контрольной суммы CMOS. Сканирование шины PCI устройств. Обнов- ление микрокода процессора
Инициализация контроллера клавиатуры
0D Поиск и инициализация видеоадаптера. Настройка IOAPIC. Измерения тактовой частоты, установка FSB
0E Инициализация MPC. Тест видеопамяти. Вывод на экран Award Logo
0F Проверка первого контроллера DMA 8237. Определение клавиатуры и ее внут- ренний тест. Проверка контрольной суммы BIOS
10 Проверка второго контроллера DMA 8237
11 Проверка страничных регистров контроллеров DMA
14 Тест канала 2 системного таймера 15 Тест регистра маскирования запросов 1-го контроллера прерываний
16 Тест регистра маскирования запросов 2-го контроллера прерываний 19 Проверка пассивности запроса немаскируемого прерывания NMI
30 Определение объема Base Memory и Extended Memory. Настройка APIC. Программное управление режимом Write Allocation

Код ошибки Описание ошибки
31 Основной отображаемый на экране тест оперативной памяти. Инициализация USB
32 Выводится заставка Plug and Play BIOS Extension. Настройка ресурсов Super I/O. Программируется Onboard Audio Device
39 Программирование тактового генератора по шине I2C
3C Установка программного флага разрешения входа в Setup
3D Инициализация PS/2 mouse
3E Инициализации контроллера External Cache и разрешения Cache BF Настройка конфигурационных регистров чип сета
41 Инициализация подсистемы гибких дисков
42 Отключение IRQ12 если PS/2 mouse отсутствует. Выполняется программный сброс контроллера жестких дисков. Сканирование других IDE устройств
43
45 Инициализация сопроцессора FPU
4E Индикация сообщений об ошибках
4F Запрос пароля
50 Восстановление ранее сохраненного в ОЗУ состояния CMOS
51 Разрешение 32 битного доступа к HDD. Настройка ресурсов ISA/PnP
52 Инициализация дополнительных BIOS. Установка значений конфигурационных регистров PIIX. Формирование NMI и SMI
53
60 Установка антивирусной защиты BOOT Sector
61 Завершающие действия по инициализации чип сет
62 Чтение идентификатора клавиатуры. Установка ее параметров
63 Коррекция блоков ESCD, DMI. Очистка ОЗУ
FF Передача управления загрузчику. BIOS выполняет команду INT 19h

3. Award BIOS V6.0 Medallion

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, контроллера прерываний, таймера, блока RTC C1 Определение типа памяти, суммарного объем и размещение по строкам 0С Проверка контрольных сумм
C3 Проверка первых 256К DRAM для организации Temporary Area. Распаковка BIOS в Temporary Area
C5 Если контрольные суммы совпали, выполняемый код POST переносится в Shadow. В противном случае управление передается на процедуру восстановления BIOS
B0 Инициализация North Bridge
A0-AF Аппаратно-зависимая процедура инициализации системной логики E0-EF Ошибка в процессе инициализации системной логики

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

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

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

Код ошибки Описание ошибки
01 Распаковка XGROUP по физическому адресу 1000:0000h
03 Ранняя
05 Установке начальных значений переменных, задающих атрибуты изображения. Проверка флага состояния CMOS
07 Проверка и инициализация контроллера клавиатуры
08 Определение типа интерфейса подключенной клавиатуры
0A Процедура автоопределения клавиатуры и мыши. Финальные настройки кон- троллера клавиатуры с использованием регистров пространства PCI
0E Тестирование сегмента памяти F000h
10 Определения типа установленной памяти FlashROM
12 Тест CMOS
14 Процедура инициализации регистров чипсета
16 Первичная инициализация бортового частотного синтезатора
18 Определения установленного процессора и объем его Cache L1 и L2 1B Генерация таблицы векторов прерываний
1C
1D Первичная настройка системы Power Management
1F Загрузка из внешнего модуля XGROUP клавиатурной матрицы
21 Инициализация подсистемы Hardware Power Management
23 Тестирование сопроцессора. Определение типа накопителя FDD. Подготовитель- ный этап для создания карты ресурсов PnP устройств
24 Процедура обновления микрокода процессора. Обновление карты распределения ресурсов
25 Первичная инициализация и сканирование шины PCI
26 Настройка логики, обслуживающей линии VID (Voltage Identification Device). Инициализация бортовой системы мониторинга напряжений и температур
27 Повторная инициализация контроллера клавиатуры
29 Инициализация APIC, входящего в состав центрального процессора. Измерение частоты, на которой работает процессор. Настройка регистров системной логики. Инициализация контроллера IDE
2A
2B Поиск VGA BIOS
2D Вывод на экран данных о процессоре
33 Выполнение Reset для подключенной клавиатуры
35 Проверка первого канала контроллера DMA 8237
37 Проверка второго канала контроллера DMA 8237
39 Тестирование страничных регистров DMA
3C Настройка контроллера Programmable Interval Timer (8254)
3E Инициализация Master контроллера 8259
40 Инициализация Slave контроллера 8259
43 Подготовка контроллера прерываний к работе. Прерывания запрещены, их раз- решение выполняется позже, после теста памяти
45 Проверка пассивности запроса немаскируемого прерывания (NMI)
47 Выполнение ISA/EISA тестов
49 Определение объема базовой и расширенной памяти. Программное управление режимом Writes Allocation путем настройки регистров AMD K5
4E Тестирование памяти в пределах первого мегабайта и визуализация результатов на экране дисплея. Инициализация схем кэширования для одно- и многопроцессорных систем, настройка регистров процессора Cyrix M1
50 Инициализация USB
52 Тестирование всей доступной системной памяти, включая регион для встроенно- го видео контроллера (Shared Memory). Визуализация результатов на экране дисплея
53 Сброс пароля на вход в систему
55 Визуализация количества обнаруженных процессоров
57 Начальная инициализация ISA PnP устройств, каждому из которых назначается CSN (Card Select Number). Визуализация логотипа EPA
59 Инициализация системы антивирусной поддержки
5B Старт процедуры обновления BIOS с накопителя на гибких дисках 5D Инициализация бортовых SIO и Audio контроллеров
60 Доступ к CMOS Setup открыт
63 Инициализация PS/2 Mouse
65 Инициализация USB Mouse
67 Использование IRQ12 устройствами PCI, если в системе PS/2 Mouse отсутствует 69 Полная инициализация контроллера кэш L2
6B Инициализация чипсета согласно CMOS Setup
6D Настройка ресурсов для устройств ISA PnP в режиме конфигурирования SIO 6F Инициализация подсистемы гибких дисков
73 Предварительные действия по инициализации подсистемы жестких дисков. На некоторых платформах - опрос ALT+F2 для запуска AwardFlash
75 Поиск и инициализация IDE устройств
77 Инициализация последовательных и параллельных портов
7A Программный сброс сопроцессора, запись управляющего слова в регистр FPU CW 7C Установка защиты от несанкционированной записи на жесткие диски
7F Вывод сообщений об ошибках. Обслуживание клавиш DEL и F1

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

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

Код ошибки Описание ошибки
82 Выделяется область в системной памяти для управления питанием
83 Восстановление данных из стека временного хранения в CMOS
84 Вывод на экран сообщения «Initializing Plug and Play Cards...»
85 Инициализация USB завершена
86 Зарезервировано, очистка Carry Flag
87 Построение таблиц SYSID в области DMI
88 Зарезервировано, очистка Carry Flag
89 Генерация таблиц обслуживания ACPI
8A Зарезервировано, очистка Carry Flag
8B Поиск и инициализация BIOS дополнительных устройств
8C Зарезервировано, очистка Carry Flag
8D Инициализация процедур обслуживания бита четности
8E Зарезервировано, очистка Carry Flag
8F Разрешение IRQ12 для «горячего» подключения манипулятора «мышь» 90 Зарезервировано, очистка Carry Flag
91 Инициализация Legacy-ресурсов платформы
92 Зарезервировано, очистка Carry Flag
93 Предположительно, не используется
94 Заключительные действия по инициализации основного набора логики перед загрузкой операционной системы. Завершается инициализация системы управления питанием. Снимается стартовая заставка BIOS, выводится на экран таблица распределения ресурсов. Для процессоров семейства AMD K6® выполняются специфические настройки. Обновление микрокода для процессоров семейства Intel Pentium® II и выше
95 Установка режима автоматического перехода на зимнее/летнее время. Программирование контроллера клавиатуры на частоту автоповтора
96 В мультипроцессорных системах выполняются финальные настройки системы и создаются служебные таблицы и поля. Для процессоров семейства Cyrix выполняется дополнительная настройка регистров. Построение таблицы ESCD "Extended System Configuration Data". Установка счетчика DOS Time в соответствии с Real Time Clock. Выполняется сохранение разделов загрузочных устройств для далнейшего использования встроенными антивирусными средствами: Trend AntiVirus или Paragon Anti-Virus Protection. На системный динамик подается сигнал окончания выполнения POST. Строится и сохраняется таблица MSIRQ

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

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

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

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

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

Особенности ускоренного прохождения 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 Mouse
71 Инициализация кэш-контроллера
72 Настройка конфигурационных регистров системной логики. Формирование списка Plug and Play устройств. Инициализация FDD контроллера
73 Инициализация контроллера HDD
74 Инициализация сопроцессора
75 Если пользователем предписано в установках CMOS Setup, выполняется защитаот записи IDE HDD
77 Запрос пароля и вывод сообщения: «Press F1 to continue, DEL to enter Setup»
78 Инициализация BIOS дополнительных устройств на шинах ISA и PCI
79 Инициализация Legacy ресурсов платформы
7A Генерация корневой таблицы RSDT и таблиц устройств DSDT, FADT и т.п.
7D Поиск информации о разделах загрузочных устройств
7E Настройка служб и сервисов BIOS перед загрузкой операционной системы
7F Установка флага NumLock согласно CMOS SetUp
80 Передача управления операционной системе

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

Одно из состояний платформы, когда содержимое оперативной памяти сохраняется на жестком диске, называется Hibernate. В спецификации ACPI ("Advanced Configuration 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 Инициализация кэш-памяти по информации CPUID
94 Генерация таблицы векторов, состоящей из указателей на процедуры обработки прерываний. Инициализация аппаратных средств Power Managment
95 Сканирование 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)

4. Phoenix BIOS 4.0 Release 6.0

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 и DMA
07 Область в памяти, предназначенная для копии BIOS, обнуляется
08 Ранняя инициализация регистров системной логики
09 Установка программного флага выполнения POST
0A Инициализация программных ресурсов процессора
0B Разрешение Internal Cache
0E Инициализация ресурсов Super I/O
0C Инициализация кэш L1/L2 согласно значениям CMOS
0F Инициализация IDE
10 Инициализация подсистемы Power Management
11 Установка значений альтернативных регистров
12 Выполняется установка значения регистра MSW (Machine Status Word)
13 Ранняя инициализация PCI устройств
14 Инициализация контроллера клавиатуры
16 Проверка контрольной суммы ROM BIOS
17 Определение объема кэш L1/L2
18 Инициализация системного таймера 8254
1A Инициализация контроллера DMA
1C Сброс значений программируемого контроллера прерываний
20 Проверка формирования запросов регенерации DRAM
22 Проверка работы контроллера клавиатуры
24 Установка селектора для обслуживания плоской 4Gb модели памяти
26 Разрешение линии А20
28 Определение суммарного объема установленной памяти
29 Инициализация POST Memory Manager (PMM)
2A Обнуление 640Kb основной памяти
2C Тестирование адресных линий
2E Сбой по одной из линий данных в младшем байте шины данных памяти
2F Выбор протокола работы кэш памяти
30 Тест доступной системной памяти
32 Определение тактовых параметров CPU и частоты шины

Код ошибки Описание ошибки
33 Инициализация Phoenix Dispatch Manager
34 Запрет на выключение питания с помощью ATX Power Button
35 Настройки регистров системной логики, управляющих формированием временных характеристик доступа к памяти, портам ввода/вывода, системным и локальным шинам
36 Выполняется рестарт при неудачном переходе к следующей процедуре POST. Последовательностью процедур управляет Watch Dog Service
37 Завершается процесс настройки регистров системной логики
38 Содержимое Runtime модуля BIOS распаковывается и переписывается в область, предназначенную для Shadow RAM
39 Повторная инициализация контроллера кэш-памяти
3A Повторное определение размера кэш L2
3B Инициализация трассировки выполнения BIOS
3C Дополнительная настройка регистров логики для конфигурирования мостов PCI-PCI и поддержки распределенных PCI шин
3D Выполняется настройка регистров системной логики в соответствии с установками CMOS Setup
3E Read Hardware Configuration
3E Проверка подключения системы ROM Pilot
40 Определение тактовых параметров CPU
41 Инициализация ROM Pilot - управления удаленной загрузкой
42
44 Set BIOS Interrupt
45 Инициализация устройств до включения PnP механизма
46 По специальному алгоритму вычисляется контрольная сумма BIOS
47 Инициализация I2O контроллеров ввода/вывода
48 Поиск видеоадаптера
49 Инициализация PCI
4A Инициализация системных видеоадаптеров
4B Выполняется Quiet Boot - сокращенная последовательность старта системы, используемая для ускоренного прохождения POST
4C Содержимое VGA BIOS переписывается в транзитную область
4E Визуализация текстовой строки BIOS Copyright
4F Резервирование памяти для меню выбора загрузочных устройств
50 Визуализируется тип процессора и его тактовая частота
51 Инициализация контроллера и устройств EISA
52 Программирование контроллера клавиатуры
54 Активизирован режим звукового сопровождения клавиш
55
58 Поиск необслуживаемых запросов на прерывания
59 Инициализация процедуры POST Display Service (PDS) 5A Вывод сообщения "Press F2 to enter SETUP"
5B Запрет CPU Internal Cache
5C Проверка Conventional Memory
5E Detect Base Address
60 Проверка Extended Memory
62 Проверка адресных линий Extended Memory
64 Передача управления на выполняемый блок, генерируемый производителем системной платы (Patch1)
66 Настройка регистров управления кэшированием
67 Минимальная инициализация контроллеров APIC
68 Разрешение кэш L1/L2
69 Подготовка System Management Mode RAM
6A Визуализируется объем External Cache
6B Установка значений CMOS Setup по умолчанию
6C Визуализация информации об использовании Shadow RAM
6E Визуализация информации об Upper Memory Blocks (UMB)
70 Вывод сообщений об ошибках
72 Проверка текущей конфигурации системы и информации в CMOS
76 Проверка информации об ошибках клавиатуры
7A Проверка состояния средств программной (System Password) или аппаратной (Key Lock Switch) блокировки клавиатуры
7C Установка векторов аппаратных прерываний
7D Инициализации системы слежения за питанием
7E Инициализация сопроцессора
80 Запрещается бортовой контроллер ввода/вывода SIO
81 Выполняется подготовка к загрузке операционной системы
82 Поиск и определение портов RS232
83 Конфигурирование внешних IDE контроллеров
84 Поиск и определение параллельных портов
85 Инициализация устройств ISA PnP
86 Бортовые ресурсы контроллера SIO конфигурируются в соответствии с установками CMOS Setup
87 Конфигурирование MCD (Motherboard Configurable Devices)
88 Устанавливаются значения блока переменных в области BIOS Data Area
89 Разрешается формирование немаскируемого прерывания
8A Установка значений переменных, находящихся в области Extended BIOS Data Area
8B Проверка схем подключения PS/2 Mouse
8C Инициализация контроллера дисковода
8F Определение количества подключенных ATA устройств
90 Инициализация и конфигурирование контроллеров жестких дисков
91 Установка временных параметров работы жестких дисков в режиме PIO
92 Передача управления на выполняемый блок, генерируемый производителем системной платы (Patch2)
93 Построение таблицы конфигурации мультипроцессорной системы
95 Выбор процедуры обслуживания CD-ROM
96 Возврат в Real Mode
97 Построение MP Configuration Table
98 Выполняется процедура ROM Scan
99 Проверка состояния параметра SMART 9A Содержимое ROM переписывается в RAM
9C Настройка подсистемы Power Management
9D Инициализация ресурсов для защиты от несанкционированного доступа
9E Разрешаются аппаратные прерывания
9F Определяется количество накопителей IDE и SCSI
A0 Установка DOS Time по состоянию RTC A1 Назначение данного кода неизвестно A2 Проверка состояния Key Lock
A4 Установки характеристик автоповтора клавиатуры
A8 Сообщение "Press F2 to enter Setup" удаляется с экрана
AA Проверяется наличие SCAN кода клавиши F2 во входном буфере AC Запускается программа Setup
AE Очищается флаг перезапуска, выполняемого по CTRL+ALT+DEL B0 Генерируется сообщение "Press F1 to resume, F2 to Setup"
B1 Снимается флаг выполнения POST B2 Процедура POST завершена
B4 Выдача звукового сигнала перед загрузкой
B5 Фаза Quiet Boot завершена
B6 Проверка пароля, если данный режим включен в Setup B7 Инициализация ACPI BIOS
B9 Поиск загрузочных устройств на USB шине BA Инициализация параметров DMI
BB Повторное выполнение процедуры ROM Scan
BC Обнуляется триггер фиксации ошибки четности RAM
BD Визуализируется меню для выбора загрузочного устройства BE Очистка экрана перед загрузкой операционной системы BF Активизация антивирусной поддержки
C0 Запускается процедура обработки программного прерывания INT 19h - загрузчик Boot Sector. Процедура обработки прерывания последовательно пытается загрузить Boot Sector, опрашивая дисковые устройства в порядке, предписанном Setup
C1 Начальная инициализация процедуры обслуживания сбоев (PEM) C2 Вызов служебных процедур для ведения протокола ошибок
C3 Визуализация сообщений об ошибках в порядке их поступления С4 Установка флагов начальных состояний
C5 Инициализация расширенного блока ячеек CMOS RAM
C6 Первичная инициализация док-станции
C7 Отложенная инициализация док-станции
С8 Выполнение находящихся в составе Boot Block тестовых процедур определения целостности структур BIOS
С9 Проверка целостности внешних по отношению к системному BIOS структур и/или модулей
CA Запуск Console Redirect для обслуживания удаленной клавиатуры CB Эмуляция дисковых устройств в RAM/ROM
CC Запуск Console Redirect для обслуживания видео CD Поддержка обмена данными с PCMCIA
CE Настройка контроллера светового пера

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

D0 Ошибка, вызванная исключительной ситуацией (Exception error) D2 Вызов процедуры обработки прерывания от не идентифицированного источника D4 Ошибка, связанная с нарушением протокола выдачи и снятия запросов на пре- рывание D6 Выход из защищенного режима с программным формированием сброса D7 Для сохранения состояния видеоадаптера требуется больший объем памяти, чем доступно в SMRAM D8 Ошибка при программном формировании импульса сброса процессора DA Потеря управления при возврате в Real Mode DC Выход из защищенного режима с программным формированием сброса без по- вторной инициализации контроллера прерываний DD Ошибка при тестировании расширенной памяти DE Ошибка контроллера клавиатуры DF Ошибка управления линией A20 19

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

Код ошибки Описание ошибки
E0 Настройка конфигурационных регистров чипсета E1 Инициализация Северного и Южного мостов
E2 Инициализация CPU
E3 Инициализация системного таймера
E4 Инициализация ресурсов Super I/O
E5 Проверка состояния Recovery Jumper, установка которого принудительно запускает режим BIOS Recovery
E6 Проверка контрольной суммы BIOS
E7 Управление передается BIOS, если его контрольная сумма вычислена правильно E8 Инициализация поддержки MPS
E9 Переход к плоской 4Gb модели памяти
EA Инициализация нестандартного оборудования
EB Настройка контроллера прерываний и прямого доступа к памяти
EC Путем записей и контрольных считываний по специальному алгоритму определя-ется тип памяти: FPM, EDO, SDRAM, в соответствии с результатом настраиваются конфигурационные регистры Host Bridge
ED Путем записей и контрольных считываний по специальному алгоритму определя-ется объем банков памяти и размещение по строкам. В соответствии с результа том настраиваются конфигурационные регистры Host Bridge (DRAM Row Boundary)
EE Содержимое Boot Block копируется в Shadow RAM EF Подготовка SMM RAM для обработчика SMI
F0 Тест памяти
F1 Инициализация векторов прерываний
F2 Инициализация Real Time Clock
F3 Инициализация видео подсистемы
F4 Генерация звукового сигнала перед загрузкой
F5 Загрузка операционной системы, хранящейся во Flash ROM
F6 Возврат в Real Mode
F7 Boot to Full DOS
F8 Инициализация контроллера USB
FA…FF Коды взаимодействия с процедурой PhDebug

5. Insyde BIOS Mobile Pro

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 for diagnostic purpose), который представляет собой не что иное, как параллельный порт 378h. Существуют реализации, в которых диагностические коды, посылаемые в порт 80h, дублируются и в параллельный порт.

Код ошибки Описание ошибки
00 Стартовая точка выполнения загрузочного блока 01 Запрет линии А20 (не используется)
02 Обновление микрокода центрального процессора
03 Тестирование оперативной памяти
04 Перенос загрузочного блока в оперативную память
05 Выполнение загрузочного блока из оперативной памяти
06 Форсирование процедуры восстановления Flash ROM
07 Перенос системного BIOS в оперативную память
08 Верификация контрольной суммы системного BIOS
09 Запуск процедуры POST
0A Запуск процедуры восстановления Flash ROM с накопителя FDD
0B Инициализация синтезатора частот
0C Завершение процедуры восстановления BIOS
0D Альтернативная процедура восстановления Flash ROM с FDD
0F Останов в случае возникновения фатальной ошибки
BB Ранняя инициализация LPC SIO
CC Стартовая точка начала восстановления Flash ROM
88 Разрешение функций ACPI
99 Ошибка при выходе из режима STR
60 Переход в режим Big Real Mode
61 Инициализация SM Bus. Данные SPD сохраняются в CMOS A0 Чтение и анализ полей SPD, ранее сохраненных в CMOS A1 Инициализация контроллера памяти
A2 Определение логических банков модуля DIMM
A3 Программирование регистров DRB (DRAM Row Boundary)
A4 Программирование регистров DRA (DRAM Row Attributes)
AE В системе обнаружены модули DIMM, которые разнятся между собой функциями Error Correcting Codes (ECC)
AF Первичная инициализация регистров контроллера памяти, отображаемых в пространстве памяти
E1 Выполнение загрузочной процедуры прекращается, если модуль DIMM не оснащен микросхемой SPD
E2 Тип модуля DIMM не соответствует требованиям системы
EA Минимальное время между активацией строк DIMM модуля и переходом в состояние регенерации не соответствует системным требованиям
EC Регистровые модули не поддерживаются ED Проверка режимов CAS Latency
EE Организация модуля DIMM не поддерживается системной платой

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

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

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

Код ошибки Описание ошибки
10 Инициализация кэш-памяти, проверка CMOS
11 Запрет линии А20. Установка регистров контроллеров 8259.
12 Определение способа загрузки
13 Инициализация контроллера памяти
14 Поиск подключенного к шине ISA видео адаптера
15 Установка значений системного таймера
16 Установка регистров системной логики по CMOS
17 Подсчет общего объема оперативной памяти
18 Тестирование младшей страницы Conventional Memory
19 Проверка контрольной суммыы образа Flash ROM
1A Повторная установка регистров контроллера прерываний
1B Инициализация видео адаптера
1C Инициализация подмножества регистров видео адаптера, совместимых с программной моделью 6845
1D Инициализация EGA адаптера
1E Инициализация CGA адапетра
1F Тест страничных регистров DMA контроллера
20 Проверка контроллера клавиатуры
21 Инициализация контроллера клавиатуры
22 Сравнение полученного объема оперативной памяти со значением в CMOS
23 Проверка автономного батарейного питания и Extended CMOS
24 Тестирование регистров контроллера DMA
25 Установка параметров DMA контроллера
26 Формирование таблицы векторов прерываний
27 Ускоренное определение объема установленной памяти
28 Защищенный режим
29 Тест системной памяти выполнен
2A Выход из защищенного режима
2B Перенос процедуры Setup в оперативную память
2C Запуск процедуры инициализации видео
2D Повторный поиск CGA адаптера
2E Повторный поиск EGA/VGA адаптера
2F Вывод на экран сообщений VGA BIOS
30 Пользовательская процедура инициализации контроллера клавиатуры
31 Проверка подключенной клавиатуры
32 Проверка прохождения запроса от клавиатуры
33 Проверка регистра статуса клавиатуры
34 Тест и обнуление системной памяти
35 Защищенный режим
36 Расширенный тест памяти завершен
37 Выход из защищенного режима
38 Запрет линии А20
39 Инициализация кэш-контроллера 3A Проверка системного таймера
3B Установка счетчика DOS Time в соответствии с Real Time Clock
3C Инициализация таблицы аппаратных прерываний
3D Поиск и инициализация манипуляторов и указателей
3E Установка статуса клавиши NumLock
3F Инициализация последовательных и параллельных портов
40 Конфигурирование последовательных и параллельных портов
41 Инициализация FDD контроллера
42 Инициализация HDD контроллера
43 Инициализация Power Management для шины USB
44 Поиск и инициализация дополнительных BIOS
45 Повторная установка статуса клавиши NumLock
46 Проверка функциональности сопроцессора
47 Инициализация PCMCIA
48 Подготовка к старту операционной системы
49 Передача управления исполняемому Bootstrap коду
50 Инициализация ACPI
51 Инициализация Power Management
52 Инициализация контроллера шины USB

POST-карта или POST-тестер это PCI плата расширения, имеющая цифровой индикатор, который выводит коды инициализации мат.платы. По данному коду можно найти, в каком из компонентов платы имеется неисправность. Коды часто зависят от производителя BIOS. Если ошибки отсутствуют и тест проходит успешно, то POST выдаёт код не меняющийся значение, к примеру на большинстве мат.плат по
завершении инициализации выводится код «FF». Также часто на тестерах установлены светодиоды отображающие напряжения +5 +3,3 +12, −12.

Вашему вниманию коды ошибок, подходящие на самые версии BIOS:

POST-код Описание
D0 Предварительная инициализация чипсета материнской платы и процессора. Проверка контрольной суммы BIOS. Запрет немаскируемого прерывания NMI. Выполняется проверка контроллера Super I/O, проверка CMOS.
D1 Контроллером клавиатуры выполняется процесс само-тестирования (BAT-тест). Выполняется начальная инициализация портов ввода-вывода. Инициализация контроллера DMA.
D2 Запрещение использования кэш-памяти. Выполняется процедура определения объема установленной оперативной памяти.
D3 Проверяется формирование запросов на регенерацию динамической оперативной памяти. Разрешение использования кэш-памяти.
D4 Тестирование 512 Кбайт памяти. Выполняется установка адреса стека, настраивается кэш-память.
D5 Код системной БИОС распаковывается и перезаписывается в Shadow RAM (затененную память).
D6 Производится вычисление контрольной суммы БИОС и проверка нажатия комбинации клавиш Ctrl+Home. Если хотя бы одно из этих условий выполняется, запускается процедура восстановления BIOS.
D7 В случае успешной проверки контрольных сумм BIOS управление передается модулю InterfaceModule, который выполняет распаковку исполняемого кода в Run-Time области.
D8 Выполняется распаковка Run-Time-кода из флеш-памяти в ОЗУ. Информация CPUID сохраняется в ОЗУ.
D9 Распакованный Run-Time-код переносится из области временного хранения в оперативную память. Управление передается распакованному модулю.
DA Выполняется восстановление регистров CPUID. Выполняется процедура POST.
E0 Инициализация регистров контроллера флоппи-дисковода. Выполняется инициализация контроллера прерываний и установка векторов прерываний. Включение кэш-памяти первого уровня.
E9 Настройка регистров флоппи-дисковода.
EA Выполняется проверка операции чтения с ATAPI CD-ROM и дисковой памяти.
EB Возврат на контрольную точку E9 в случае возникновения ошибок при операциях с ATAPI CD-ROM.
EF Возврат на контрольную точку EB в случае возникновения ошибок при операциях с дисками.
F0 Выполняется поиск файла восстановления с именем AMIBOOT.ROM.
F1 В точку F1 выполняется переход в том случае, если файл восстановления не найден.
F5 Отключение кэш-памяти первого уровня.
FB Определение типа FlashROM. Поиск во FlashROM раздела для хранения настроек чипсета.
F4 В точку F4 выполняется переход в том случае, если файла восстановления с именем AMIBOOT.ROM имеет некорректный размер.
FC Обнуление основного блока Flash BIOS.
FD Выполняется программирование основного блока Flash BIOS.
FF В точку FF выполняется переход в том случае, если программирование Flash BIOS успешно завершено. Запрещается запись у FlashROM. Выполняется отключение оборудования ATAPI. Восстанавливается значение CPUID.
03 Запрещается обработка немаскируемого прерывания (NMI), проверка ошибок четности оперативной памяти. Выполняется инициализация области данных текущего выполнения BIOS и процедуры POST.
04 Проверка контрольной суммы CMOS и напряжения питания аккумулятора.
05 Выполняется инициализация контроллера прерываний и формирование таблицы векторов прерываний.
06 Подготовка к работе интервального таймера.
08 Контроллером клавиатуры выполняется процесс само-тестирования (BAT-тест). Инициализация ЦП.
C0 Запрещение использования кэш-памяти. Инициализация контроллера APIC. Подготовка процессора к работе.
С1 Настройка параметров работы процессора.
C2 Идентификация процессора с помощью команды CPUID.
C5 Определение количества процессоров и настройка их параметров.
C6 Инициализация кэш-памяти процессора.
С7 Завершение процесса начальной инициализации центрального процессора.
0A Инициализация контроллера клавиатуры.
0B Выполняется поиск мыши, подключенной с помощью интерфейса PS/2.
0C Выполняется поиск клавиатуры.
0E Поиск и инициализация устройств ввода-вывода. Захват прерывания INT 09h. Вывод на экран логотипа БИОС.
13 Выполняется начальная инициализация регистров чипсета.
24 Выполняется распаковка и инициализация модулей BIOS. Подготовка к инициализации таблицы векторов прерываний.
25 Завершение инициализации таблицы векторов прерываний.
2A Выполняется инициализация устройств на локальных шинах (с помощью механизма DIM-Device Initialization Manager). Подготовка к инициализации видеоадаптера.
Поиск и инициализация видеокарты.
2E Выполняется поиск и инициализация дополнительных устройств ввода-вывода.
30 Выполняется инициализация компонента SMI (System Management Interrupt).
31 Распаковка модуля ADM. Инициализация и активизация ADM.
33 Инициализация модуля загрузчика.
37 Вывод на экран монитора логотип AMI, информация о версии БИОС, информации о типе процессора и его скорости. Отображение на мониторе названия клавиши, которую можно использовать для входа в Bios Setup.
38 Выполняется инициализация устройств на локальных шинах (с помощью механизма DIM-Device Initialization Manager).
39 Выполняется инициализация контроллера DMA.
3A Установка системного времени в соответствии с показаниями часов реального времени (RTC).
3B Выполняется тестирование оперативной памяти с последующим отображением на мониторе результатов теста.
3C Настройка регистров чипсета.
40 Выполняется инициализация математического сопроцессора, параллельных и последовательных портов.
50 Выполняется корректировка модулей управления памяти.
52 Выполняется корректировка информации в CMOS об объеме оперативной памяти (согласно результатам теста оперативной памяти).
60 Программирование контроллера клавиатуры на частоту авто-повтора и время ожидания до входа в режим авто-повтора согласно настройкам BIOS Setup. Установка состояния индикатора Numlock согласно настройкам BIOS Setup.
75 Выполняется инициализация прерывания INT 13h, которое используется для работы с дисковыми устройствами.
78 Создается список устройств, с которых можно выполнить загрузку ОС.
7A Выполняется инициализация остальных расширений БИОС.
7C Создание и сохранение таблицы ESCD.
84 Выполняется составление отчета об ошибках, которые были обнаружены во время прохождения процедуры POST.
85 Вывод на монитор информации об ошибках, обнаруженных во время прохождения процедуры POST.
87 На данном этапе имеется возможность войти в программу BIOS Setup.
8C Настройка регистров чипсета.
8D Выполняется построение таблицы ACPI.
8E Обслуживание NMI-прерываний. Настройка параметров периферийных устройств.
90 Выполняется завершающая инициализация SMI
A0 Запрос пароля на загрузку (если в настройках BIOS Setup это предусмотрено).
A1 Выполняется очистка данных, которые не требуются для загрузки ОС.
A2 Подготовка модулей EFI.
A4 Выполняется инициализация языкового модуля.
A7 Вывод на монитор таблицы итоговых результатов прохождения процедуры POST.
A8 Программирование регистров MTRR (Memory Type Range Register).
A9 Ожидание ввода команд с клавиатуры.
AA Сброс прерываний INT 1C, INT 09. Отключение модуля обслуживания процедур (ADM).
AB Определение устройств, с которых можно выполнить загрузку ОС.
AC Завершающий этап инициализации регистров чипсета в соответствии с параметрами BIOS Setup
B1 Выполняется настройка интерфейса ACPI.
00 Выполнение прерывания BIOS INT 19h. Управление процессом загрузки передается загрузчику операционной системы. Начинается загрузка ОС.

Контрольные точки процедур POST, выполняемых в AMIBIOS , были переработаны и дополнены в 1995 году и до настоящего времени не претерпели существенных изменений. Первое описание POST-кодов или чекпойнтов (check points), как они именуются в AMI, в их нынешнем виде появилось в связи с выходом в свет ядра v6.24 от 15 июля 1995 года. Некоторые изменения в своё время были внесены в AMIBIOS v7.0.

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

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

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

PIIX - это чипсеты TX, LX, BX

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

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

Device Initialization Manager

Начиная с AMIBIOS95+ компания American Megatrends задекларировала об­об­щен­ный подход к инициализации устройств на всех типах шин. Для этого был раз­ра­ботан универсальный механизм – Device Initialization Manager (DIM), ре­а­ли­зо­ван­ный в виде автономного модуля. Запуск процедур DIM осуществляется в осо­бые моменты выполнения POST, когда необходимо отобразить состояние ини­ци­а­ли­за­ции Option ROM, устройств ввода и отображения информации:

Старший байт отображается в порт 81, указывая на тип выполняемой процедуры Function Number и топологию, где локализованы заданные устройства: Device Number. Топология, как аргумент, отображается в младшей тетраде 81 порта и может принимать следующие значения:

Старшая тетрада 81-го порта Function Number указывает либо на процедуру инициализации, применимую к выбранным устройствам, либо на подмножество устройств, объединенных по заданному признаку, которые следует подготовить к работе.

Этот параметр в современной редакции допускает следующие значения:

0 Reset, Detect, Disable Построение с помощью менеджера ресурсов карты распределения ресурсов. Из блока конфигурационных компонентов NVRAM строится стратегия инициализации всех устройств, описанных функциями 01,…,05
1 Initialization for Static Devices Инициализация дополнительных (off-board) контроллеров PCI IDE
2 Initialization for Output Devices К инициализации средств отображения относится поиск в контрольной точке 2Ah видеоадаптеров, VGA BIOS которых размещается в сегменте C000h. Функция выполняет процедуру ROM Scan, начиная с региона Optional EGA ROM путем поиска сигнатуры 55AAh. Если сигнатура обнаружена, проверяется контрольная сумма и принимается решение о том, что Add-ROM верифицирован и готов принять управление от BIOS. Особенность процедуры - уменьшение пространства RAM выделенного для ROM в связи с «усадкой», когда код занимает меньше места, чем зарезервировано. В этом случае освобождаются регионы C800h/CC00h.
3 Initialization for Input Devices Инициализация устройств консольного ввода (клавиатура и манипулятор «мышь») выполняется только если это указано в установках CMOS Setup.
4 Initialization for IPL Devices Инициализация устройств Initial Program Load (IPL), с которых возможна загрузка операционной системы, выполняется в контрольной точке 38h. К IPL-устройствам согласно BIOS Boot Specification относятся FDD и HDD, позволяющие загрузить ОС. Функция проверяет соответствие найденных дисков по списку, хранящемуся в NVRAM, разрешает их использование и формирует запрос на выделение адресного пространства, портов, IRQ. Использование устройств не указанных в NVRAM становится возможным только если они поддерживают Auto-Detect.
5 Initialization for General Devices Инициализация периферийных (on-board) и дополнительных (off-board) контроллеров, поддерживающих стандарт PnP, а также подключенных к шине PCI контроллеров USB (Universal Serial Bus).
6 POST Error Flags Функция сбора и обработки информации об ошибках выполняется для вывода на экран сообщений пользователю в контрольной точке 39h. Обрабатываются ситуации конфликтов при распределении доступа к ресурсам памяти, портов ввода-вывода, запросов IRQ. Исследуются загрузочные возможности HDD, исходя из информации об их подключении (Master/Slave, Device ID) к соответствующим контроллерам и проверяется бесконфликтность таких подключений. Обрабатываются ошибки от консольных устройств (клавиатура и монитор). Проверяется достоверность и контрольные суммы информации в NVRAM, а также функциональность носителей NVRAM: CMOS и EEPROM.
7 Special Function К специальным функциям модуля DIM относится поиск и инициализация устройств в контрольной точке 95h, Optional ROM которых размещается в сегменте C800h. Этот сегмент используется для дополнительных BIOS контроллеров SCSI/IDE и их RAID модификаций, которые соответствуют BIOS Boot Specification (BBS). Если обнаружен хотя бы один Optional ROM, не поддерживающий BBS, к примеру, MFM-контроллер, AMIBIOS выбирает особый режим старта операционной системы. Специальная функция обслуживает также классифицированные USB Mass Storage устройства.
8 Configure Before Boot IPL Devices Финальное конфигурирование устройств системной загрузки, ранее инициализированных с помощью функции 4 в контрольной точке 38h, требуется на этапе передачи управления операционной системе. По результатам выполнения CMOS Setup, если изменены параметры Boot Device Priority, корректируются таблицы HDD IDE/SCSI, устройств со сменными носителями и CD-ROM. Завершается процедура построением списка загрузочных устройств в порядке, предписанном пользователем.

POST-коды

AMIBIOS 6.x

Как следует из названия, новая версия увидела свет в 1997 году. AMIBIOS97 – это современный во всех отношениях продукт с поддержкой AGP, InstantON и про­чих новинок. Разработка и управление проектом доведены до совершенства с по­мо­щью разнообразных скрипт-процессоров, позволяющих генерировать код, в за­ви­си­мос­ти от особенностей построения NVRAM, DMI и т.п.

00 03 05 06 07 08 09 0A 0B 0C 0E 0F
10 11 12 13 14 19 1A
23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 37 38 39 3A 3B
40 42 43 44 45 46 47 48 49 4B 4C 4D 4E 4F
50 51 52 53 54 57 58 59
60 62 63 65 66 67
7F
80 81 82 83 84 85 86 87 88 89 8B 8C 8D 8F
91 95 96 97 98 99 9A 9B 9C 9D 9E 9F
A0 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE
B0 B1
CC CD CE CF
D0 D1 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
E0 E1 E2 E4 E6 EC ED EE EF
F0 F1 F2 F4 F5 FB FC FD FF
код название описание
EE В современных реализациях AMIBIOS первый визуализируемый код связан с обращением к устройству, с которого возможна загрузка для восстановления BIOS
CC Chipset specific stuff
Инициализация регистров системной логики
В некоторых версиях AMIBIOS первый визуализируемый код связан с инициализацией регистров системной логики от Intel, построенной на основе контроллера PIIX: чипсеты TX, LX, BX. Если система находится в режиме энергосбережения, выполняется 5V Resume - возврат к полноценному функционированию. В этом случае в диагностический порт посылается значение DD , и выполняется процедура, задача которой состоит в восстановлении из CMOS содержимого регистров контроллера памяти.
CD Chip ID is unknown
Тип Flash ROM не опознан
Специфичная для плат Gigabyte процедура обслуживания DualBIOS - код производителя и код микросхемы Flash ROM стартового BIOS не найдены в списке поддерживаемых устройств. В числе причин, по которым происходит данное событие - неисправность Flash ROM, нарушение (повреждение) проводников и элементов в схеме подключения BIOS.
CE System halts to wait for hardware reset
Несовпадение контрольных сумм в стартовом BIOS
Специфичная для плат Gigabyte процедура обслуживания DualBIOS. Если обнаружено несовпадение контрольных сумм в стартовом BIOS, выполняется остановка. После перезагрузки система запускается с запасной микросхемы Flash ROM.
CF DualBIOS Feature inaccessible
Ошибка в доступе к запасной микросхеме Flash ROM
Ошибка в доступе к запасной микросхеме Flash ROM возникает в случае, когда невозможно коммутировать сигналы, подключенные к выводам GPIO (General Purpose Input Output), управляющие опцией DualBIOS Feature. Кроме аппаратных проблем, подобная ситуация может произойти также по причине того, что запасная микросхема Flash ROM отсутствует на системной плате.
D0 Power on delay is starting, Verify initialization code checksum
Запрет немаскируемого прерывания NMI. Отработка временной задержки для затухания переходных процессов. Проверка контрольной суммы Boot Block, останов при несовпадении.
Для того, чтобы «переждать» переходные процессы, связанные с включением питания, выполняется аппаратная задержка сигнала Power Good. Временная задержка в BIOS состоит из вывода тестовых последовательностей в диагностический порт для проверки линий данных. Базовая проверка адресных линий выполняется с помощью вычисления объема загрузочного блока (Boot Block) и его контрольной суммы. Если контрольная сумма не совпадает, прохождение POST прекращается.
В виду того, что процессор не имеет средств запрета NMI, эта процедура осуществляется через программно-доступный триггер, управляемый из индексных регистров CMOS. Аналогичным образом выполняется запрет контроля четности.
D1 Performing the keyboard controller BAT Test, check Wake-Up status, starting memory refresh, and entering 4 GB flat mode
Выполнение процедуры регенерации памяти и Basic Assurance Test. Переход в 4 GB режим адресации памяти.
Контроллеру клавиатуры дается команда BAT (Basic Assurance Test), и проверяется результат ее отработки. Если старт системы выполнен по команде Wake Up, управление передается соответствующим процедурам. Запускаются схемы регенерации памяти - задается режим счета и константа счета для первого канала системного таймера.
Содержимое регистров центрального процессора сохраняется в CMOS. Процессор переключается в защищенный режим и устанавливает 4Gb лимиты сегментов в регистрах Descriptor Cache. Затем выполняется возврат в реальный режим. При этом установленные лимиты сегментов сохраняются, что обеспечивает адресацию 4Gb пространства.
D3 Starting memory sizing
Определение объема и первичный тест памяти
Первичная инициализация регистров системной логики позволяет приступить к определению объема памяти. Эта процедура устанавливает значение адреса BIOS и диапазон адресов для каждого из банков памяти, в соответствии с их объемами. Адрес, начиная с которого прекращается совпадение читаемых и записанных значений, принимается как граница памяти. Процедура памяти носит аппаратно-зависимый характер и выполняется с учетом особенностей платформы.
D4 Test 512 kB done. Returning to real mode
Возврат в реальный режим адресации памяти. Ранняя инициализация чипсета Установка стека
С помощью операций записи и контрольного чтения проверяется базовый регион Conventional Memory. Операция выполняется двойными словами с помощью ассемблерных команд repe stosd.
Если задано прохождения POST в ускоренном режиме, то процедура носит характер обнуления области в 512 Кб с последующей верификацией данных в памяти.
Процессор переводится в Real Mode, лимиты сегментов устанавливаются равными 0000FFFFh, что соответствует режиму 16-битовых адресов для обслуживания 64 Кб сегментов.
D5 The initialization code is copied to segment 0 and control will be transferred to segment 0
Перенос модуля POST из Flash ROM в транзитную область памяти
Выполняется перенос модуля Boot Block из Flash ROM в транзитную область памяти, подготовленную на предыдущем шаге. Инициализационный код BIOS размещается начиная с адреса 0 и на него передается управление.
D6 Enable Internal Cache. Checking if Ctrl Home was pressed and verifying the system BIOS checksum
При несовпадении контрольной суммы или CTRL+Home выполняется переход на процедуру восстановления Flash ROM (Код E0)
Впервые с момента старта системы разрешается использование процессорного кэш L1. Контроллер клавиатуры программируется для ввода комбинации клавиш Ctrl+Home, по которой пользователь может форсировать выполнение процедуры восстановления Flash ROM. Проверка контрольной суммы BIOS выполняется только в режиме ускоренного прохождения POST, в штатной ситуации она переносится на следующий шаг. Если произошло хотя бы одно из этих событий, запускается процедура перезаписи Flash ROM.
D7 Transfer control to main BIOS
Передача управления служебной программе, осуществляющей распаковку системного BIOS
При штатном прохождении POST выполняется подсчет контрольной суммы BIOS и, в случае успешной проверки, управление передается системному интерфейсному модулю, в задачу которого входит распаковка исполняемого кода и запись его в Shadow RAM. Современные версии AMIBIOS на этом завершают стартовую процедуру из Flash ROM, и POST продолжается из оперативной памяти. Существует ряд реализаций, в частности на некоторых платформах Intel, где перенос кода BIOS в RAM детализирован промежуточными процедурами D8-DC. Если контрольные суммы BIOS не совпадают, принимается решение о вызове процедуры перезаписи Flash ROM. Выполняется инициализации контроллера ввода-вывода (SIO) и управление передается на шаг E0h.
D8 The main system BIOS runtime code will be decompressed
Полная распаковка системного BIOS
В ранних версиях AMIBIOS выполняется распаковка исполняемого кода в транзитный буфер по адресу 1000:0000. Необходимость временного хранения связана с тем, что копия BIOS в системной памяти не может быть создана до тех пор, пока не будет запрещен доступ к ROM.
D9 Passing control to the main system BIOS in shadow RAM
Передача управления системному BIOS в Shadow RAM
Регистры системной логики настраиваются так, что обращение к Flash ROM перенаправляется на копию BIOS в Shadow RAM. Исполняемый код переносится из области временного хранения в сегмент F000. POST передает управление в контрольную точку 03 .
DA Read SPD is over. Load CAS latency into memory controller
Чтение информации из SPD (Serial Presence Detect) модулей DIMM
В зависимости от аппаратных особенностей платформы, выполняется чтение SPD из установленных модулей DIMM. По результатам опроса устанавливаются регистры чипсета, отвечающие за временные характеристики работы с памятью. Формируется значение Memory Top.
DB Use MTRRs to control memory access
Настройка MTRR регистров центрального процессора
Платформы, построенные на процессорах AMD, выполняют настройку MTRR-регистров таким образом, чтобы перенаправить циклы обращения к памяти с шины ISA в область PCI-адресов. После включения кэш инициализация памяти завершается и выполняется запуск процедуры регенерации.
DC End of memory detection. RAM is in normal operation mode
Контроллеры памяти программируются согласно данным, полученным из SPD
Регистры контроллера памяти программируются согласно значениям, полученным из SPD. Модули DIMM переводятся из командного режима в режим нормального функционирования.
DD Early initialization RTC and KBC
Ранняя инициализация RTC, который интегрирован в SIO чип
Некоторые бортовые микросхемы ввода-вывода содержат RTC и контроллер клавиатуры, которые по включению питания находятся в отключенном состоянии. Цель BIOS - проинициализировать эти ресурсы платы для дальнейшего использования. Следует отметить, что отказ хотя бы одного из этих ресурсов повлечет нестарт системной платы в целом на первом же этапе выполнения POST.
Если система находится в режиме энергосбережения, выполняется 5V Resume - возврат к полноценному функционированию: выполняется процедура, которая восстанавливает содержимое регистров контроллера памяти из CMOS. В этом случае управление передается в контрольную точку 11 .
DE
Ошибка конфигурации системной памяти. Фатальная ошибка
Если в процессе инициализации возникает фатальная ошибка конфигурации памяти, в диагностический порт последовательно выводятся значения DF и DE , а следом за ними код ошибки. . На системный динамик выводится последовательность звуковых сигналов, соответствующая коду ошибки, увеличенному на 5. Выполнение POST прекращается.
DF Invalid Memory Configuration
Ошибка конфигурации системной памяти
E0 Start recovery procedure
Выполняется подготовка к перехвату INT19 и проверяется возможность старта системы в упрощенном режиме
Процедура восстановления BIOS выполняется, если пользователь форсировал программирование Flash ROM, удерживая по старту клавиши Ctrl+Home, либо при несовпадении контрольных сумм. В современных BIOS конфигурирование контроллера гибких дисков в составе SIO завершено еще на предыдущем этапе, а группа процедур, выполнявшихся ранее в точках E1 , E2 , E6 сведена к установке векторов прерываний и подготовке контроллера DMA.
Выполняется подготовка к перехвату INT19 и проверяется возможность старта в упрощенном режиме. Если обнаружены ошибки, выводится предупреждение пользователю. См. комментарий к коду 11 .
E1 Initializing the interrupt vector table
Установка векторов прерываний
Установка векторов прерываний выполняется исходя из ограниченных возможностей загрузочного блока. В нем хранится Run-Time код, содержащий обработчики прерываний для процедуры перезаписи Flash ROM, который определяет сокращенный вариант сервиса. См. комментарий к коду 12 .
E2
Восстановление содержимого CMOS, поиск и инициализация BIOS
См. комментарий к коду 14 .
E3
Подготовка контроллеров прерываний и непосредственного доступа к памяти
Инициализация контроллера DMA состоит в установке полярности сигналов DRQ и DACK, назначении приоритетов каналов и запрете удлиненного цикла записи.
Для контроллера прерываний устанавливается режим прием запросов по фронту сигнала IRQ и назначается режим фиксированных приоритетов. Векторные прерывания IRQ0-IRQ7 картируются на INT8-INT0F, а IRQ8-IRQ15 - на INT70h-INT77. См. комментарий к коду 13 .
E6 Enabling the floppy drive controller and Timer IRQs. Enabling internal cache memory
Разрешение прерываний от системного таймера и FDC
Разрешаются прерывания от системного таймера IRQ0 и контроллера дисковода IRQ6, для этого в регистре маскирования запросов мастер-контроллера (порт 21) обнуляются биты 0 и 6.
Для того чтобы читаемая информация была кэширована в Internal Cache, необходимо выполнение двух условий, объединенных по «И»: в регистре управления процессора CR0 бит 30 должен быть обнулен; при выполнении цикла чтения памяти сигнал разрешения кэширования KEN#, формируемый логикой, должен быть активен.
EC Initializing the DMA and Interrupt controllers
Повторная инициализация контроллеров IRQ и DMA
Настройка контроллера прямого доступа к памяти и контроллера прерываний. Генерация таблицы векторов прерываний.
ED Initializing the floppy drive
Инициализация дисковода
Инициализация дисковода состоит из ряда процедур, одна из которых предназначена для определения количества дорожек. Если дисковод 80-дорожечный, после позиционирования на цилиндр с номером 60 обратный ход на цилиндр 1 переводит сигнал track0 в пассивное состояние, а еще один шаг на цилиндр 0 - в активное. Если дисковод 40-дорожечный, при попытке позиционирования на цилиндр 60 головки упрутся в ограничитель, часть шаговых импульсов не будет отработана и собьется момент перехода с цилиндра 1 на 0, что обнаружится при анализе сигнала track0.
Определяется продольная плотность записи для установленного носителя, для чего выполняется чтение при двух значениях тактовой частоты FDC, управляемой через порт 3F7h. Если успешное чтение имело место при обмене данными со скоростью 500 Кбит/с, принимается решение, что установлена дискета 1.2/1.44Mb, при 250 Кбит/с - 360/720Кb.
По значению байта количества секторов в загрузочном секторе уточняется объем носителя. 15 sec/track соответствует дисководам объемом 1.2 Mb, а для устройств 1.44 Mb используется значение 18 sec/track. Размер устройства - 5.25« или 3.5» - для данной процедуры определять не обязательно, так как стоит задача получить информацию о дисководе и носителе достаточную для загрузки, при условии, что из CMOS ее брать нельзя.
Если в процессе выполнение инициализации дисковода обнаружены ошибки, дальнейшее прохождение POST не выполняется.
EE Looking for a floppy diskette in drive A: Reading the first sector of the Diskette
Чтение загрузочного сектора с дискеты
В современных реализациях AMIBIOS код EE - первый визуализируемый POST код, который выводится в диагностический порт при обращении к устройству, с которого возможна загрузка для восстановления BIOS.
Повторный вызов процедуры чтения загрузочного сектора с дискеты (Cylinder:00, Head:00, Sector:01) выполняется на этапе восстановления BIOS. Если носитель не обнаружен, выводится приглашение пользователю «Insert diskette in A:».
EF A read error occurred while reading the floppy drive
Ошибка дисковых операций
В эту точку управление передается, если обнаружены ошибки при дисковых операциях и с носителя не удалось прочитать загрузочный сектор. Сообщение об ошибках выводится на монитор, прохождение POST продолжается до успешного завершения операции.
Если сбои при чтении вызваны аппаратными проблемами, неуспешные попытки чтения формируют бесконечный цикл, выход из которого требует вмешательства пользователя.
F0 Searching for the AMIBOOT.ROM file in the root directory
Поиск файла AMIBOOT.ROM
По содержимому служебных полей загрузочного сектора определяется, где помещен корневой каталог, в котором выполняется поиск файла с именем AMIBOOT.ROM.
Имя файла AMIBOOT.ROM - зарезервированная константа. Для успешного восстановления BIOS необходимо переименовать файл на гибком диске в соответствии с данным соглашением.
F1 The AMIBOOT.ROM file is not in the root directory
В корневом каталоге файл AMIBOOT.ROM не найден
В эту точку управление передается при ошибке чтения корневого каталога либо если в нем не найден файл AMIBOOT.ROM.
F2 Reading and analyzing the floppy diskette FAT to find the clusters occupied by the AMIBOOT.ROM file
Считывание FAT
Считывается FAT (File Allocation Table) дискеты и по содержимому каталога определяется начало кластерной цепочки, соответствующей файлу AMIBOOT.ROM. В случае, если файл с указанным именем не найден, выполняется безусловный переход в контрольную точку F1 для организации бесконечного цикла, выход из которого возможен только при успешном чтении файла с образом BIOS.
F3 Reading the AMIBOOT.ROM file, cluster by cluster
Считывание AMIBOOT.ROM
На основании цепочки кластеров, описанной в FAT, считывается файл AMIBOOT.ROM.
F4 The AMIBOOT.ROM file is not the correct size
Объем файла AMIBOOT.ROM не соответствует объему Flash ROM
В эту точку управление передается, если размер файла с образом BIOS не соответствует объему микросхемы Flash ROM, установленной на системной плате.
F5 Disabling internal cache memory
Запрет Internal Cache
Путем установки в «1» бита 30 регистра CR0 запрещается Internal Cache для того, чтобы обеспечить когерентность данных при взаимодействии с Flash ROM. В противном случае, после считывания статусного регистра микросхемы все действия будут выполняться над кэш-копией.
Процедура отключения кэш носит аппаратно-зависимый характер. Для некоторых наборов системной логики запрет кэш на данном шаге не выполняется, так как адресный регион, в котором находится Flash ROM, является некэшируемым.
FB Detecting the type of Flash ROM
Определение типа Flash ROM
Определение типа Flash ROM выполняется, как правило, с помощью команды Read Intelligent Identifier. После её записи по любому адресу в регионе ROM, запоминающее устройство переключается из режима чтения памяти в режим ReadID. В таком состоянии из указанного региона будет читаться не содержимое ROM, а идентификаторы: по смещению 0 - Manufacturer Code; по смещению 1 - Device Code.
Перед выполнением всех этих действий необходимо снять блокировку сигнала Flash WE, а также разрешить доступ к региону, для этого программируются регистры системной логики.
FC Erasing the Flash ROM
Стирание основного блока Flash ROM
Flash ROM состоит из загрузочного блока, одного или нескольких блоков параметров и основного блока. Для стирания основного блока выполняется команда Erase Flash, состоящая из кодов Erase Setup и Erase Confirm. Flash ROM переходит в режим стирания и в его адресном пространстве считывается не содержимое, а статус, на основании которого процессор определяет момент завершения операции и ее успешность.
FD Programming the Flash ROM
Программирование основного блока Flash ROM
Программирование основного блока выполняется по алгоритму, который специфицирован производителем запоминающего устройства. Как правило, для каждой записываемой ячейки передается команда, которая состоит из двух кодов: Program Setup и записываемого байта. Момент завершения и успешность операции записи контролируется по статусному регистру Flash ROM. Процесс циклически повторяется для всех ячеек основного блока.
FF Flash ROM programming was successful. Next, restarting the system BIOS
Рестарт BIOS Коды распакованного системного BIOS, выполняемые в ShadowRAM (Runtime code is uncompressed in F000 shadow RAM)
В эту точку управление передается в случае успешного программирования FlashROM. Далее необходимо выполнить рестарт BIOS. Для этого выполняется команда прямого межсегментного перехода по адресу FFFF:0000 (CS=FFFF, IP=0000).
10 Issuing KBC blocking and unblocking command
Ранняя инициализация контроллера клавиатуры
Клавиатуре передана команда сброса. В порт 64h посылаются команды C8/C9 разрешающие или запрещающие управление линией А20. В зависимости от аппаратной реализации используются выводы общего назначения Pin23 и Pin24, соответствующие первому и второму биту второго порта контроллера клавиатуры, совместимого по программной модели с 82С42.
11 Restore the DRAM registers
Возврат из состояния STR (Suspend to RAM)
Возврат из состояния STR (Suspend to RAM) предполагает восстановление контента оперативной памяти. Для этого из CMOS считывается, а в регистры контроллера памяти записывается содержимое, актуальное к моменту выполнения STR. Запускаются схемы регенерации памяти.
E0 .
12 Reenable SMRAM. Setup MTRRs
Восстановление доступа к SMRAM (System Management RAM)
Выполняется настройка System Management RAM (SMRAM) для процедуры обработки System Management Interrupt (SMI Handler). Регистры процессора MTRR настраиваются на обеспечение требуемых условий доступа к региону памяти в сегментах A000 и B000, картируемых на SMRAM.
На некоторых платформах для обозначения данной процедуры используется код E1 .
13 Restore the Refresh rate
Восстановление регенерации памяти
Платформы, построенные на процессорах Intel, восстанавливают содержимое регистров контроллера памяти, отвечающих за регенерацию памяти. На платформах AMD данная процедура не выполняется.
На некоторых платформах для обозначения данной процедуры используется код E2 .
14 Restore CMOS and call VGA BIOS
Поиск и инициализация VGA BIOS
Для платформ с интегрированным видео выполняется поиск и инициализация VGA BIOS.
На некоторых платформах для обозначения данной процедуры используется код E3 .
03 Запрет немаскируемого прерывания NMI. Определение типа сброса
05 Инициализация стека. Запрет кэширования памяти и контроллера USB
06 Выполнение в ОЗУ служебной программы
07 Распознавание процессора и инициализация APIC
08 Проверка контрольной суммы CMOS
09 Проверка отработки клавиш End/Ins
0A Проверка сбоя батарейного питания
0B Очистка буферных регистров контроллера клавиатуры
0C Контроллеру клавиатуры передается команда тестирования
0E Поиск дополнительных устройств, обслуживаемых контроллером клавиатуры
0F Инициализация клавиатуры
10 Клавиатуре передается команда сброса
11 Если нажата клавиша End или Ins, выполняется сброс CMOS
12 Перевод в пассивное состояние контроллеров DMA
13 Инициализация чип сета и кэш L2
14 Проверка системного таймера
19 Выполняется тест формирования запросов на регенерацию DRAM
1A Проверка длительности цикла регенерации
20 Инициализация устройств вывода
23 Считывается порт ввода контроллера клавиатуры. Опрашивается Keylock Switch и Manufacture Test Switch
24 Подготовка к инициализации таблицы векторов прерываний
25 Инициализация векторов прерываний завершена
26 Через порт ввода контроллера клавиатуры опрашивается состояние перемычки Turbo Switch
27 Первичная инициализация контроллера USB. Обновление микрокода стартового процессора
28 Подготовка к установке видеорежима
29 Инициализация LCD панели
2A Поиск устройств, обслуживаемых дополнительными ROM
2B Инициализации VGA BIOS, проверка его контрольной суммы
2C Выполнение VGA BIOS
2D Согласование INT 10h и INT 42h
2E Поиск видеоадаптеров CGA
2F Тест видеопамяти адаптера CGA
30 Тест схем формирования разверток адаптера CGA
31 Ошибка видеопамяти или схем формирования разверток. Поиск альтернативного видеоадаптера CGA
32 Тест видеопамяти альтернативного видеоадаптера CGA и схем разверток
33 Опрос состояния перемычки Mono/Color
34 Установка текстового режима 80х25
37 Видеорежим установлен. Экран очищен
38 Инициализация бортовых устройств
39 Вывод сообщений об ошибках на предыдущем шаге
3A Вывод сообщения «Hit DEL» для входа в CMOS Setup
3B Начало подготовки к тесту памяти в защищенном режиме
40 Подготовка дескрипторных таблиц GDT и IDT
42 Переход в защищенный режим
43 Процессор в защищенном режиме. Прерывания разрешены
44 Подготовка к проверке линии A20
45 Тест линии A20
46 Определение размера ОЗУ выполнено
47 Тестовые данные записаны в Conventional Memory
48 Повторная проверка Conventional Memory
49 Тест Extended Memory
4B Обнуление памяти
4C Индикация процесса обнуления
4D Запись в CMOS полученных размеров Conventional и Extended memory
4E Индикация реального объема системной памяти
4F Выполняется расширенный тест Conventional Memory
50 Коррекция размера Conventional Memory
51 Расширенный тест Extended Memory
52 Объемы Conventional Memory и Extended Memory сохранены
53 Обработка отложенных ошибок четности
54 Запрет контроля четности и обработки немаскируемых прерываний
57 Инициализация региона памяти для POST Memory Manager
58 Выводится приглашение для входа в CMOS Setup
59 Возврат процессора в реальный режим
60 Проверка страничных регистров DMA
62 Тест регистров адреса и длины пересылки контроллера DMA#1
63 Тест регистров адреса и длины пересылки контроллера DMA#2
65 Программирование контроллеров DMA
66 Очистка регистров Write Request и Mask Set POST
67 Программирование контроллеров прерываний
7F Разрешение запроса NMI от дополнительных источников
80 Устанавливается режим обслуживания прерываний от порта PS/2
81 Тест интерфейса клавиатуры при ошибках сброса
82 Установка режима работы контроллера клавиатуры
83 Проверка статуса Keylock
84 Верификация объема памяти
85 Вывод на экран сообщений об ошибках
86 Настройка системы для работы Setup
87 Распаковка программы CMOS Setup в Conventional Memory.
88 Работа программы Setup завершена пользователем
89 Завершено восстановление состояния после работы Setup
8B Резервирование памяти дополнительному блоку переменных BIOS
8C Программирование конфигурационных регистров
8D Первичная инициализация контроллеров HDD и FDD
8F Повторная инициализация контроллера FDD
91 Конфигурирование контроллера жестких дисков
95 Выполняется ROM Scan для поиска дополнительных BIOS
96 Дополнительная настройка системных ресурсов
97 Проверка сигнатуры и контрольной суммы дополнительного BIOS
98 Настройка System Management RAM
99 Установка счетчика таймера и переменных параллельных портов
9A Формирование списка последовательных портов
9B Подготовка области в памяти для теста сопроцессора
9C Инициализация сопроцессора
9D Информация о сопроцессоре сохраняется в CMOS RAM
9E Идентификация типа клавиатуры
9F Поиск дополнительных устройств ввода
A0 Формирование регистров MTRR (Memory Type Range Registers)
A2 Сообщений об ошибках на предыдущих этапах инициализации
A3 Установка временных характеристик автоповтора клавиатуры
A4 Дефрагментирование неиспользованных регионов RAM
A5 Установка видео режима
A6 Очистка экрана
A7 Перенос исполняемого кода BIOS область Shadow RAM
A8 Инициализация дополнительного BIOS в сегменте E000h
A9 Возврат управления системному BIOS
AA Инициализация USB шины
AB Подготовка модуля INT13 для обслуживания дисковых сервисов
AC Построение таблиц AIOPIC для поддержки мультипроцессорных систем
AD Подготовка модуля INT10 для обслуживания видео сервисов
AE Инициализация DMI
B0 Таблица конфигурации системы выведена
B1 Инициализация ACPI BIOS
00 Программное прерывание INT19h – загрузка Boot Sector

Звуковые сигналы

В обязанности данной функции входит поддержка удаленной загрузки по сети, поэтому требуется выполнить посик Boot ROM сетевого адаптера. Если он найден, а установками CMOS Setup в меню Boot Device Priority загрузка по сети указана как первое устройство, выполняется настройка процедур INT18h и INT19h.

Код ошибки может принимать следующие значения: * 0: оперативная память не обнаружена * 1: установлены модули DIMM различных типов * 2: модуль DIMM не оснащен SPD либо чтение содержимого SPD закончилась неудачей * 3: модуль не соответствует системным требованиям для работы на заданной частоте * 4: модуль не может быть использован в данной системе * 5: время между активацией строк модуля и переходом его в состояние регенерации не соответствует системным требованиям * 6: обнаружена ошибка в младшей странице - первые 64 Kb памяти

звуки ошибка
1 короткий Ошибка регенерации памяти. Возможно, неисправен программируемый таймер прерываний или программируемый контроллер прерываний.
2 коротких Ошибка процедуры POST. Не прошла одна из проверок оборудования.
3 коротких Ошибка чётности памяти в первых 64K. Возможно, неисправна микросхема памяти.
4 коротких Ошибка системного таймера или первого банка памяти
5 коротких Ошибка процессора
6 коротких Ошибка линии управления A20. Неисправность контроллера клавиатуры, которая не позволяет переключить процессор в защищенный режим.
7 коротких Ошибка виртуального режима процессора
8 коротких Ошибка чтения/записи видеопамяти. Отсутствует или неисправен видеоадаптер.
9 коротких Контрольная сумма BIOS неверна
10 коротких Ошибка чтения/записи регистра управления питанием в энергонезависимой памяти (CMOS). Неисправность цепей управления питанием.
11 коротких Ошибка кэша 2-го уровня
1 длинный Все проверки прошли нормально - компьютер готов к загрузке операционной системы
1 длинный, 1 короткий Ошибка блока питания
1 длинный, 2 коротких Ошибка в ПЗУ BIOS-а видеокарты или ошибка гашения обратного хода строчной развертки
1 длинный, 3 коротких Обнаружена ошибка в памяти выше 64К
Compaq BIOS:

Error Message

Description

System is booting properly

BIOS ROM checksum error

The contents of the BIOS ROM to not match the expected contents. If possible, reload the BIOS from the PAQ

Check the video adapter and ensure it"s seated properly. If possible, replace the video adapter

7 beeps (1 long, 1s, 1l, 1 short, pause, 1 long, 1 short, 1 short)

The AGP video card is faulty. Reseat the card or replace it outright. This beep pertains to Compaq Deskpro systems

1 long neverending beep

Memory error. Bad RAM. Replace and test

Reseat RAM then retest; replace RAM if failure continues

IBM Desktop BIOS:

Error Message

Description

System is booting properly

Initialization error

Error code is displayed

System board error

Video adapter error

EGA/VGA adapter error

3270 keyboard adapter error

Power supply error

Replace the power supply

Power supply error

Replace the power supply

Replace the power supply

IBM Thinkpad BIOS:

Beeps/Error

Description

Continuous beeping

System board failure

One beep; Unreadable, blank or flashing LCD

LCD connector problem; LCD backlight inverter failure; video adapter faulty; LCD assembly faulty; System board failure; power supply failure

One beep; Message "Unable to access boot source"

Boot device failure; system board failure

One long, two short beeps

System board failure; Video adapter problem; LCD assembly failure

One long, four short beeps

Low battery voltage

One beep every second

Low battery voltage

Two short beeps with error codes

POST error message

System board failure

IBM Intellistation BIOS:

Beep error code:

Action / Run diagnosics on the following components:

1-1-3 CMOS read/write error 1. Run Setup
2. System Board
1-1-4 ROM BIOS check error 1. System Board
1-2-X DMA error 1. System Board
1-3-X 1. Memory Module
2. System Board
1-4-4 1. Keyboard
2. System Board
1-4-X Error detected in first 64 KB of RAM. 1. Memory Module
2. System Board
2-1-1, 2-1-2 1. Run Setup
2. System Board
2-1-X First 64 KB of RAM failed. 1. Memory Module
2. System Board
2-2-2
2. System Board
2-2-X First 64 KB of RAM failed. 1. Memory Module
2. System Board
2-3-X 1. Memory Module
2. System Board
2-4-X 1. Run Setup
2. Memory Module
3. System Board
3-1-X DMA register failed. 1. System Board
3-2-4 Keyboard controller failed. 1. System Board
2. Keyboard
3-3-4 Screen initialization failed. 1. Video Adapter (if installed)
2. System Board
3. Display
3-4-1 Screen retrace lest detected an error. 1. Video Adapter (if installed)
2. System Board
3. Display
3-4-2 POST is searching for video ROM. 1. Video Adapter (if installed)
2. System Board
4 1. Video Adapter (if installed)
2. System Board
All other beep code sequences. 1. System Board
One long and one short beep during POST.
Base 640 KB memory error or shadow RAM error.
1. Memory Module
2. System Board
One long beep and two or three short beeps during POST.(Video error) 1. Video Adapter (if installed)
2. System Board
Three short beeps during POST. 1. See "System board memory" on page 62.
2. System Board
Continuous beep. 1. System Board
Repeating short beeps. 1. Keyboard stuck key?
2. Keyboard Cable
3. System Board
Mylex BIOS:

Error Message

Description

System is booting normally

Video adapter error

The video adapter is either faulty or not seated properly. Check the adapter

Keyboard controller error

The keyboard controller IC is faulty. Replace the IC if possible

The keyboard controller IC is faulty or the keyboard is faulty. Replace the keyboard, if problem still persists, replace the keyboard controller IC

The programmable interrupt controller is faulty. Replace the IC if possible

The programmable interrupt controller is faulty. replace the IC if possible

DMA page register error

The DMA controller IC is faulty. Replace the IC if possible

RAM refresh error

RAM parity error

DMA controller 0 error

The DMA controller IC for channel 0 has failed

The CMOS RAM has failed

DMA controller 1 error

The DMA controller IC for channel 1 has failed

CMOS RAM battery error

The CMOS RAM battery has failed. If possible, replace the CMOS or battery

CMOS RAM checksum error

The CMOS RAM has failed. If possible, replace the CMOS

BIOS ROM checksum error

The BIOS ROM has failed. If possible replace the BIOS or upgrade it

Mylex 386 BIOS:

Error Message

Description

System is booting normally

Video adapter failure

Either the video adapter is faulty, not seated properly or is missing

1 long, 1 short, 1 long

Keyboard controller error

Either the keyboard controller IC is faulty or the system board circuitry is faulty

1 long, 2 short, 1 long

Either the keyboard controller is faulty or the system board circuitry is faulty

1 long, 3 short, 1 long

1 long 4 short, 1 long

The programmable interrupt controller IC is faulty

1 long, 5 short, 1 long

DMA page register error

The DMA controller IC 1 or 2 is faulty or the system board circuitry is faulty

1 long, 6 short, 1 long

RAM refresh error

1 long, 7 short, 1 long

1 long, 8 short, 1 long

RAM parity error

1 long, 9 short, 1 long

DMA controller 1 error

The DMA controller for channel 0 is faulty or the system board circuitry is faulty

1 long, 10 short, 1 long

Either the CMOS RAM is faulty. Replace the CMOS

1 long, 11 short, 1 long

DMA controller 2 error

The DMA controller for channel 1 is faulty or the system board circuitry is faulty

1 long, 12 short, 1 long

CMOS RAM battery error

The CMOS RAM battery is faulty or the CMOS RAM is bad. Replace the battery if possible

1 long, 13 short, 1 long

CMOS checksum error

The CMOS RAM is faulty

1 long 14 short, 1 long

BIOS ROM checksum failure

The BIOS ROM checksum is faulty. Replace the BIOS or upgrade

Phoenix ISA/MCA/EISA BIOS:

The beep codes are represented in the number of beeps. E.g. 1-1-2 would mean 1 beep, a pause, 1 beep, a pause, and 2 beeps.

  • With a Dell computer, a 1-2 beep code can also indicate that a bootable add-in card is installed but no boot device is attached. For example, in you insert a Promise Ultra-66 card but do not connect a hard drive to it, you will get the beep code. I verified this with a SIIG (crap -- avoid like the plague) Ultra-66 card, and then confirmed the results with Dell.

Error Message

Description

CPU test failure

The CPU is faulty. Replace the CPU

System board select failure

The motherboard is having an undetermined fault. Replace the motherboard

CMOS read/write error

The real time clock/CMOS is faulty. Replace the CMOS if possible

Extended CMOS RAM failure

The extended portion of the CMOS RAM has failed. Replace the CMOS if possible

BIOS ROM checksum error

The BIOS ROM has failed. Replace the BIOS or upgrade if possible

The programmable interrupt timer has failed. Replace if possible

DMA read/write failure

The DMA controller has failed. Replace the IC if possible

RAM refresh failure

The RAM refresh controller has failed

64KB RAM failure

The test of the first 64KB RAM has failed to start

First 64KB RAM failure

The first RAM IC has failed. Replace the IC if possible

First 64KB logic failure

The first RAM control logic has failed

Address line failure

The address line to the first 64KB RAM has failed

Parity RAM failure

The first RAM IC has failed. Replace if possible

EISA fail-safe timer test

Replace the motherboard

EISA NMI port 462 test

Replace the motherboard

64KB RAM failure

Bit 0; This data bit on the first RAM IC has failed. Replace the IC if possible

64KB RAM failure

Bit 1; This data bit on the first RAM IC has failed. Replace the IC if possible

64KB RAM failure

Bit 2; This data bit on the first RAM IC has failed. Replace the IC if possible

64KB RAM failure

Bit 3; This data bit on the first RAM IC has failed. Replace the IC if possible

64KB RAM failure

Bit 4; This data bit on the first RAM IC has failed. Replace the IC if possible

64KB RAM failure

Bit 5; This data bit on the first RAM IC has failed. Replace the IC if possible

64KB RAM failure

Bit 6; This data bit on the first RAM IC has failed. Replace the IC if possible

64KB RAM failure

Bit 7; This data bit on the first RAM IC has failed. Replace the IC if possible

64KB RAM failure

Bit 8; This data bit on the first RAM IC has failed. Replace the IC if possible

64KB RAM failure

Bit 9; This data bit on the first RAM IC has failed. Replace the IC if possible

64KB RAM failure

Bit 10; This data bit on the first RAM IC has failed. Replace the IC if possible

64KB RAM failure

Bit 11; This data bit on the first RAM IC has failed. Replace the IC if possible

64KB RAM failure

Bit 12; This data bit on the first RAM IC has failed. Replace the IC if possible

64KB RAM failure

Bit 13; This data bit on the first RAM IC has failed. Replace the IC if possible

64KB RAM failure

Bit 14; This data bit on the first RAM IC has failed. Replace the IC if possible

64KB RAM failure

Bit 15; This data bit on the first RAM IC has failed. Replace the IC if possible

Slave DMA register failure

The DMA controller has failed. Replace the controller if possible

Master DMA register failure

The DMA controller had failed. Replace the controller if possible

Master interrupt mask register failure

Slave interrupt mask register failure

The interrupt controller IC has failed

Interrupt vector error

The BIOS was unable to load the interrupt vectors into memory. Replace the motherboard

Keyboard controller failure

CMOS RAM power bad

Replace the CMOS battery or CMOS RAM if possible

CMOS configuration error

The CMOS configuration has failed. Restore the configuration or replace the battery if possible

Video memory failure

There is a problem with the video memory. Replace the video adapter if possible

Video initialization failure

There is a problem with the video adapter. Reseat the adapter or replace the adapter if possible

The system"s timer IC has failed. Replace the IC if possible

Shutdown failure

The CMOS has failed. Replace the CMOS IC if possible

Gate A20 failure

The keyboard controller has failed. Replace the IC if possible

Unexpected interrupt in protected mode

This is a CPU problem. Replace the CPU and retest

RAM test failure

System RAM addressing circuitry is faulty. Replace the motherboard

Interval timer channel 2 failure

The system timer IC has failed. Replace the IC if possible

Time of day clock failure

The real time clock/CMOS has failed. Replace the CMOS if possible

Serial port failure

A error has occurred in the serial port circuitry

Parallel port failure

A error has occurred in the parallel port circuitry

Math coprocessor failure

The math coprocessor has failed. If possible, replace the MPU

Description

Verify real mode

Initialize system hardware

Initialize chipset registers with initial values

Set in POST flag

Initialize CPU registers

Initialize cache to initial values

Initialize power management

Load alternative registers with initial POST values

Jump to UserPatch0

Initialize timer initialization

8254 timer initialization

8237 DMA controller initialization

Reset Programmable Interrupt Controller

Test DRAM refresh

Test 8742 Keyboard Controller

Set ES segment register to 4GB

Clear 512K base memory

Test 512K base address lines

Test 51K base memory

Test CPU bus-clock frequency

CMOS RAM read/write failure (this commonly indicates a problem on the ISA bus such as a card not seated)

Reinitialize the chipset

Shadow system BIOS ROM

Reinitialize the cache

Autosize the cache

Configure advanced chipset registers

Load alternate registers with CMOS values

Set initial CPU speed

Initialize interrupt vectors

Initialize BIOS interrupts

Check ROM copyright notice

Initialize manager for PCI Options ROMs

Check video configuration against CMOS

Initialize PCI bus and devices

initialize all video adapters in system

Shadow video BIOS ROM

Display copyright notice

Display CPU type and speed

Set key click if enabled

Test for unexpected interrupts

Display prompt "Press F2 to enter setup"

Test RAM between 512K and 640K

Test expanded memory

Test extended memory address lines

Jump to UserPatch1

Configure advanced cache registers

Enable external and CPU caches

Initialize SMI handler

Display external cache size

Display shadow message

Display non-disposable segments

Display error messages

Check for configuration errors

Test real-time clock

Check for keyboard errors

Setup hardware interrupt vectors

Test coprocessor if present

Disable onboard I/O ports

Detect and install external RS232 ports

Detect and install external parallel ports

Reinitialize onboard I/O ports

Initialize BIOS Data Area

Initialize Extended BIOS Data Area

Initialize floppy controller

Initialize hard disk controller

Initialize local bus hard disk controller

Jump to UserPatch2

Disable A20 address line

Clear huge ES segment register

Search for option ROMs

Shadow option ROMs

Setup power management

Enable hardware interrupts

Scan for F2 keystroke

Clear in-POST flag

Check for errors

POST done - prepare to boot operating system

Check password (optional)

Clear global descriptor table

Clear parity checkers

Check virus and backup reminders

Try to boot with INT 19

Interrupt handler error

Unknown interrupt error

Pending interrupt error

Initialize option ROM error

Extended Block Move

Shutdown 10 error

Keyboard Controller failure (most likely problem is with RAM or cache unless no video is present)

Initialize the chipset

Initialize refresh counter

Check for Forced Flash

Do a complete RAM test

Do OEM initialization

Initialize interrupt controller

Read in bootstrap code

Initialize all vectors

Initialize the boot device

Boot code was read OK

Quadtel BIOS:

Error Messages

Description

System is booting normally

The CMOS RAM is faulty. Replace the IC if possible

The video adapter is faulty. Reseat the video adapter or replace the adapter if possible

Peripheral controller error

One or more of the system peripheral controllers is bad. Replace the controllers and retest