POST коды Award BIOS
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
01 Подготовка Conventional Memory для операционной системы
05 Инициализация контроллера клавиатуры
0B Настройка контроллера прерываний
0D Поиск и инициализация VGA BIOS
10 Вывод сообщения «BIOS ROM checksum error»
11 Зарезервировано для использования в будущих реализациях
12 Генерация таблицы векторов прерываний
41 Инициализация дисковода FDD
FF Передача управления на восстановление BIOS
Выполнение POST в Shadow RAM
Поздняя инициализация выполняется в оперативной памяти и продолжается до момента вызова пользовательского меню - CMOS Setup. Для этой фазы POST характерно использование сегмента памяти E000h, в котором отрабатывается прохождение кон трольных точек от 01h до 7Fh.
01 Распаковка XGROUP по физическому адресу 1000:0000h
03 Ранняя инициализация ресурсов Super I/O
05 Установке начальных значений переменных, задающих атрибуты изображения.
Проверка флага состояния CMOS
07 Проверка и инициализация контроллера клавиатуры
08 Определение типа интерфейса подключенной клавиатуры
0A Процедура автоопределения клавиатуры и мыши. Финальные настройки контроллера клавиатуры с использованием регистров пространства PCI
0E Тестирование сегмента памяти F000h
10 Определения типа установленной памяти FlashROM
12 Тест CMOS
14 Процедура инициализации регистров чипсета
16 Первичная инициализация бортового частотного синтезатора
18 Определения установленного процессора и объем его Cache L1 и L2
1B Генерация таблицы векторов прерываний
1C Проверка достоверности CMOS и батарейного питания
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 Зарезервировано, очистка Carry Flag
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
FF Загрузка операционной системы
Ряд процессов, происходящих в Award Medallion BIOS, обозначается особыми группами контрольных точек. К ним относятся: System Event codes - контрольные точки системных событий.
B0 Ошибка исключения в Protected Mode
B1 Нераспознанный запрос NMI
B2 Остановка в активном состоянии запроса NMI
Power Management Debug codes - контрольные точки, возникающие в процессе выполнения сервисов APM или ACPI.
55 Энергосбережение с отключением питающего напряжения +12 вольт
66 Переход в режим энергосбережения с минимальным потреблением
D0 Прерывание для выхода из режима энергосбережения по событию
D1 Переход CPU в режим энергосбережения путем снижения его тактовой частоты
D2 Режим частичного энергосбережения с использованием функций ACPI
D3 System Management Interrupt для перевода в режим энергосбережения
D7 Переход CPU в режим энергосбережения средствами APM-сервиса
D8 Переход системы в состояние энергосбережения средствами APM-сервиса
D9 Перевод системы в состояние полного энергосбережения
System Error codes - сообщения о фатальных ошибках.
EC Ошибка обслуживания ECC
ED Ошибка HDD при возврате из режима энергосбережения
EF Несовпадение записанных и считанных данных в сегменте F000h
Debug codes for MP system - точки инициализации многопроцессорных платформ.
A0-A4 Процедура инициализации Local APIC одного из четырех установленных CPU
F0-F4 Сбой одного из CPU на этапе выполнения Built-In Self Test
Особенности ускоренного прохождения 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)