Расшифровка кодов post карты. POST коды ошибок BIOS диагностика с помощью POST карты

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-карта)

1. Введение
2. Общее описание POST карты

4. Таблица кодов ошибок
5. Описание звуковых сигналов
6. Сброс забытого пароля к BIOS

Введение

Карта называется POST (Power On Self Test - карта самотестирования). Отображает коды ошибок, при невозможности загрузки операционной системы или нет изображения на экране или нет звуков BIOS.

Когда питание подано, BIOS проводит точный тест схемы, памяти, клавиатуры, видеокарты, жёсткого диска, затем анализирует системную конфигурацию. После инициализации базовой системы ввода/вывода идёт загрузка операционной системы.

Диагностическая карта не будет отображать данные в следующих случаях:
1. Карта вставлена в материнскую плату без центрального процессора.
2. Когда горит диод RST LED.

Общее описание POST карты

  • Коды на карте отображаются в определённой последовательности
  • Код может быть не определён
  • Для различных производителей BIOS (AMI, Award, Phoenix), значения кодов различно. (Определение производителя BIOS)
  • Карту можно подключать к PCI и ISA слотам. Обычно коды начинаются с "00" до "FF" на PCI слоте. На некоторых материнских платах код может остановиться на "38"
  • На материнских платах коды ошибок BIOS постоянно обновляются, так что они могут отсутствовать в таблице.
  • На некоторых POST картах могут отсутствовать некоторые светодиоды.
  • Описание светящихся диодов:

    Светодиод Тип Описание
    RUN Мерцание Если светодиод горит, материнская плата включена, не имеет значения какие коды проходят
    CLK BUS CLOCK Горит когда питание подано на материнскую плату (обычно без процессора)
    BIOS Считывание BIOS Светодиод включается и выключается когда подаётся питание на материнскую плату, при чтении BIOS процессором
    IRDY Менеджер готов Светодиод включается и выключается когда есть сообщение
    OSC Мигание Загорается когда подано питание на материнскую плату, или если нет то кристалл колебательного контура сломан
    FRAME Период кадра Горит всё время. Включается и выключается когда есть сообщение
    RST Reset Загорается на пол секунды, когда нажимаете на кнопку включения или сброса. Если горит питание, то стоит проверить RESET (замыкает или сломан).
    12V Power Загорается единожды при включении, подаче питания, если не загорается это означает короткое замыкание на материнской плате или нет 12В.
    -12V Питание Тоже самое что и "12V"
    5V Питание Тоже самое что и "12V"
    -5V Питание Тоже самое что и "12V" (-5V только для ISA слота)
    3V3 Питание Загорается при подаче питания (только PCI), где есть 3,3В. Если нет на материнской плате дежурного напряжения 3,3В - не загорается

    Таблица кодов ошибок

    Код Award AMI Phoenix4.0 / Tendy3000
    00 Code copying to specific areas is done/Passing control to INT 19h boot loader next.
    01 Processor Test 1, Processor status (1FLAGS) verification. Test the following processor status flags: carry, zero, sign, overflow. The BIOS sets each flag, verifies they are set, then turns each flag off and verifies it is off. CPU is testing the register inside or failed, please change the CPU and check it.
    02 Test All CPU Registers Except SS, SP, and BP with Data FF and 00 Verify Real Mode
    03 Disable NMI, PIE, AIE, UEI, SQWV Disable video, parity checking, DMA Reset math coprocessor Clear all page registers, CMOS shutdown byte Initialize timer 0, 1, and2, including set EISA timer to a known state Initialize DMA controllers 0 and 1 Initialize interrupt controllers 0 and 1 Initialize EISA extended registers Disable NMI, PIE, AIE, UEI, SQThe NMI is disabled. Next, checking for a soft reset or a power on condition Disable Non-Mask-able interrupt (NMI)
    04 RAM must be periodically refreshed to keep the memory from decaying. This refresh function is working properly Get CPU type
    05 Keyboard Controller initialization The BIOS stack has been built. Next, disabling cache mamory. DMA initialization in progress or failure
    06 Reserved Uncompressing the POST code next. Initialized system hardware
    07 Verifies CMOS is Working Correctly, Detects Bad Battery Next, initializing the CPU data area Disable shadow and execute code from the ROM
    08 Early chip set initialization Memory presence test OEM chip set routines Clear low 64K memory Test first 64K memory The CMOS checksum calculation is Initialize chipset with with initial POST values
    09 Cyrix CPU initialization Cach initialization Set IN POST flag
    0A Initialize first 120 interrupt vectors with SPURIOUS-INT-HDLR and initialize INT 00h-1Fh according to INT-TBL The CMOS checksum calculation is done. Linitializing the CMOS status register for date and time next Initialize CPU registers
    0B Test CMOS RAM Checksum. If bad, or INS Key Pressed, Load Defaults The CMOS status register is initialized. Next. Performing any requirect initialization before the keyboard BAT command is issued Enable CPU cach
    0C Detect Type of Keyboard Controller and Set NUM LOCK Status The keyboard controller input butter is free Next, issuing the BAT command to the keyboard controller Initialize caches to initial POST values
    0D Detect CPU Clock Read CMOS location 14h to find out type of video in use Detect and initialize video adapter
    0E Test Video Memory, write sign-on message to screen Setup shadow RAM? Enable shadew according to setup The keyboard controller BAT command result has been verified. Next, performing any necessary initialization after the keyboard controller BAT command test Initialize I/O component
    0F Test DMA Cont. 0; BIOS Checksum Test Keyboard Detect and initialization The initialization after the keyboard controller BAT command test is done. The keyboard command byte is written next Initialization the local bus IDE
    10 Test DMA Controller 1 Test DMA The keyboard controller command byte is written. Next, issuing the Pin 23 and 24 Blocking and unblocking command Initialize Power Management
    11 Test DMA Page Registers Next, checking if "End" or "Ins" keys were pressed during power on. Initializing CMOS RAM in every boot AMIBIOS POST option was set in AMIBCP or the "End" key was pressed
    12 Reserved Next, disabling DMA controllers 1 and 2 and interrupt controllers 1 and 2 Restore CPU control word during warm boot
    13 Reserved The video display has been disabled. Port B has been initialized. Next, initializing the chipset initialize PCI Bus Mastering devices
    14 Test 8254 Timer 0 Counter 2 The 8254 timer test will begin next
    15 Verify 8259 Channel 1 interrupts by Turning Off and On the interrupt Lines
    16 Verify 8259 Channel 2 interrupts by Turning Off and On the interrupt Lines BIOS ROM checksum
    17 Turn Off interrupts Then Verify No Interrupt Msk Register is On Initialize cach before memory Auto size
    18 Force an interrupt and Verify the interrupt and Verify the interrupt Occurred 8254 timer initialization
    19 Test Stuck NMI Bits; Verify NMI Can Be Cieared The 8254 timer test is over. Starting the memory refresh test next
    1A Display CPU clock The memory refresh line is toggling. Checking the 15 second on/off time next
    1B Reserved
    1C Reserved Reset Programmable interrupt Controller
    1D Reserved
    1E Reserved
    1F If EISA non-volatile memory checksum is good, execute EISA initialization If not, execute ISA tests an clear EISA mode flag Test EISA configuration memory Integrity (checksum & communication interface)
    20 Initialize Slot O (System Board) Test DRAM refresh
    21 Initialize Slot 1
    22 Initialize Slot 2 Test 8742 Keyboard Controller
    23 Initialize Slot 3 Reading the 8042 input port and disabling the MEGAKEY Green PC feature next. Making the BIOS code segment writable and performing any necessary configuration before initializing the interrupt vectors
    24 Initialize Slot 4 The configuration required before interrupt vector initialization has completed. Interrupt vector initialization is about to begin Set ES segment register to 4Gb
    25 Initialize Slot 5 Interrupt vector initialization is done. Clearing the password if the POST DIAG awitch is on
    26 1. test the exeptional situation of protected of protected mode, check the memory of cpu and mainboard.
    2. no fateful trouble, VGA displayed normally. If nonfateful trouble occurred, then display error message in VGA otherwise boot operating system, and code "26" is OK code, no any other codes to display
    1. read/write input, output port of 8042 keyboard; ready for revolve mode, continue to get ready for initialization of all data, check the 8042 chips on mainboard.
    2. refere to the left
    1. enable A20 adress line, check the A20 pins of memory controlling chips, and check circuit, correlated to pins, in memory slot, may be A20 pin and memory pins are not in contact, or memory A20 pins bad.
    2. refere to the left
    27 Initialize Slot 7 Any initialization before setting the video mode will be done next
    28 Initialize Slot 8 Initialization before setting the video mode is complete. Configuring the monochrome mode and color mode settings next Auto size DRAM
    29 Initialize Slot 9 Initialize POST Memory Manager
    2A Initialize Slot 10 Initializing the different bus system, static, and output devices, if present Clear 512 KB base RAM
    2B Initialize Slot 11 Passing control to the video ROM to perform any required configuration before the video ROM test
    2C Initialize Slot 12 All necessary processing before passing control to the video ROM is done. Looking for the video ROM next and passing control to it RAM failure on address line xxx*
    2D Initialize Slot 13 The video ROM has returned has returned control to BIOS POST Performing any required processing after the video ROM had control
    2E Initialize Slot 14 Completed pest-video ROM test processing. If the EGA/VGA controller is not found, performing the display memory Read/write test next RAM failure on data bits Xxxx* of low byte of memory bus
    2F Initialize Slot 15 The EGA/VGA controller was not found. The display memory read/write test is about to begin Enable cach before system BIOS shadow
    30 Size Base Memory From 256K to 640K and Extended Memory Above 1MB The display memory read/write test passed. Look for retrace checking next
    31 Test Base Memory From 256K to 640K and Extended Memory Above 1MB The display memory read/write test or retrace checking failed. Performing the alternate display memory read/write test next
    32 If EISA Mode, Test EISA Memory Found in Slots initialization The alternate display memory read/write test passed. Looking for alternate display retrace checking next Test CPU Bus-clock frequency
    33 Reserved Initialize Phoenix Dispatch manager
    34 Reserved Video display checking is over. Setting the display mode next
    35 Reserved
    36 Reserved Warm start and shut down
    37 Reserved The display mode is set. Displaying the power on message next
    38 Reserved Initializing the bus input, IPL, general device next, if present Shadow system BIOS ROM
    39 Reserved Displaying bus initialization error messages
    3A Reserved The new cursor position has been read and saved. Displaying the Hit "Del" message next Auto size cach
    3B Reserved The Hit "Del" message is displayed. The protected mode memory test is about to start
    3C Setup Enabled Advanced configuration of chipset registers
    3D Detect if mouse is present, initialize mouse, install interrupt vectors
    3E Initialize cache controller
    3F Reserved
    40 Display virus protect. Disable or Enable Preparing the descriptor tables next
    41 Initialize Floppy Disk Drive Controller and any drives Initialize extended memory for RomPilot
    42 Initialize Hard Drive Controller and any drives The descriptor tables are prepared. Enteling protected mode for the memory test next Initialize interrupt vectors
    43 Detect and initialize Serial & Parallel Ports and Game Port Entered protected mode. Enabling interrupts for diagnostics mode next
    44 Reserved Interrupts enabled if the diagnostics switch is on. Initializing data to check memory wraparound at 0:0 next
    45 Detect and initialize math coprocessor Data initialized. Checking for memory wraparound at 0: 0 and finding the total system memory size next POST device initialization
    46 Reserved The memory wraparound test is done. Memory size calculation has been done. Writing patterns to tset memory next Check ROM copyright notice
    47 Reserved The memory pattern has been to extended memory. Writing patterns to the base 640 KB memory Initialize 120 support
    48 Reserved Patterns written in base memory. Determining the amount of memory below 1MB next
    49 Reserved The amount of memory below 1MB has been found and verified. Determining the amount of memory above 1 MB memory next
    4A Reserved
    4B Reserved The amount of memory above 1MB has been found and verified. Checking for a soft reset and clearing the memory below 1MB for the soft reset next. If this is a power on situation, going to checkpoint 4Eh next QuletBoot start (optional)
    4C Reserved The memory below 1MB has been cleared via a soft reset. Clearing the memory above 1MB next Shadow video BIOS ROM
    4D Reserved The memory above 1MB has been cleared via a soft reset. Saving the memory size next. Going to checkpoint 52h next
    4E Reboot if Manufacturing Mode; if not, Display Messages and Enter Setup The memory test started, but not as the result of a soft reset. Displaying the first 64KB memory size next Display BIOS copyright notice
    4F Ask Password Security (Optional) The memory size display has started. The display is updated during the memory test. Performing the sequential and random memory test next Initialize MultiBoot
    50 Write All CMOS Values Back to RAM and Clear The memory below 1MB has been tested and initialized. Adjusting the displayed memory size fot relocation and shadowing next Display CPU type and speed
    51 Enable Parity Checker. Enable NMI, Enable Cache Before Boot The memory size display was adjusted for relocation and shadowing. Testing the memory above 1MB next Initialize EISA board
    52 Initialize Option ROMs from C8000h to EFFFFh or if FSCAN Enabled to F7FFFh The memory above 1MB has been tested and initialized. Saving the memory size information next Test keyboard
    53 Initialize Time Value in 40h: BIOS Area The memory size information and the CPU registers are saved. Entering real mode next
    54 Shutdown was successful. The CPU is in real mode. Disabling the Gate A20 line, parity, and the NMI next Set key click if enabled
    55
    56 Enable USB devices
    57 The A20 address line, parity, and the NMI are disabled. Adjusting the memory size depending on relocation and shadowing next
    58 The memory size was adjusted for relocation and shadowing. Clearing the Hit "DEL" message next
    59 The Hit "DEL" message is cleared. The "WAIT..." message is displayed. Starting the DMA and interrupt controller test next Initialize POST display service
    5A Display prompt Press F2 to enter SETUP
    5B Disable CPU cache
    5C Test RAM betweeb 512 and 640 kB
    60 Setup virus protection (boot sector protection) functionality according to setup setting The DMA page register test passed. Performing the DMA Controller 1 base register test next Test extended memory
    61 Try to turn on level 2 cach (if L2 cach already turned on in post 3D, this part will be skipped) Sat the boot up speed according to setup setting Last chance for chipset initialization Last chance for power management initialization (Green BIOS Only) Show the system configuration table
    62 Setup the NUM lock. According to setup values Programm the NUM lock. Typematic rate & typematic speed according to setup setting The DMA controller 1 base register test passed. Performing the DMA controller 2 base register test next Test extended memory address lines
    63 If there is any changes in the hardware configuration. Update the ESCD information (PnP BIOS only) Clear memory that have been used Boot system via INT 19h
    64 Jump to UserPatch1
    65 The DMA controller 2 base register test passed. Programming DMA controller 1 and 2 next
    66 Completed programming DMA controllers 1 and 2 initializing the 8259 interrupt controller next Configure advanced cach registers
    67 Completed 8259 interrupt controller initialization Initialize Multi Processor APIC
    68
    69 Setup System Management Mode (SSM) area
    6A Display external L2 cach size
    6B Load custom defaults (optional)
    6C Display shadow-area message
    6E Display possible high address for UMB recovery
    6F
    70 Display error message
    71
    72
    76 Check for keyboard errors
    7C Set up hardware interrupt vectors
    7D Initialize intelligent System Monitoring
    7E Initialize coprocessor if present
    7F Extended NMI source enabling is in progress
    80 The keyboard test has started. Clearing the output buffer and checking for stuck keys. Issuing the keyboard reset command next Disable onboard Super I/O ports and IRQs
    81 A keyboard reset error or stuck key was found. Issuing the keyboard controller interface test command next Late POST device initialization
    82 The keyboard controller interface test completed. Writing the command byte and initializing the circular buffer next Detect and install external RS232 ports
    83 The command byte was written and global data initialization has completed. Checking for a locked key next Configure non-MCD IDE controllers
    84 Locked key checking is over. Checking for a memory size mismatch with CMOS RAM data next
    85 The memory size check is done. Displaying a soft error and checking for a password or bypassing WINBIOS Setup next Initialize PC-compatible PnP ISA devices
    86 The password was checked. Performing any required programming before WINBIOS Setup next
    87 The programming before WINBIOS Setup has completed Uncompressing the WINBIOS Setup code and executing the AMIBIOS Setup or WINBIOS Setup utility next Configure Motherboard Configurable Devices (optional)
    88 Returned from WINBIOS Setup end cleared the screen. Performing any necessary programming after WINBIOS Setup next Initialize BIOS Data Area
    89 The programming after WINBIOS Setup has completed. Displaying the power on screen message next Enable Non-Maskable interrupts (NMis)
    8A Initialize Extended BIOS Data Area
    8B The first screen message has been displayed. The "WAIT..." message is displayed. Performing the PS/2 mouse check and extended BIOS data area allocation check next Test and initialize PS/2 mouse
    8C Programming the WINBIOS Setup options next Initialize floppy controller
    8D The WINBIOS Setup options are programmed. Resetting the hard disk controller next
    8E The hard disk controller has been reset. Configuring the floppy drive controller next
    8F Determine number of ATA drives (optional)
    90 Initialize hard-disk controllers
    91 The floppy drive controller has been configured. Cjnfiguring the hard disk drive controller next Initialize local-bus hard-disk controllers
    92 Jump to UserPatch2
    93 Build MPTABLE for multi-processor board
    95 Initializing bus adaptor ROMs from C8000h through D8000 Install CD ROM for boot
    96 Initializing before passing control to the adaptor ROM at C800
    97 Initialation before the C800 adaptor ROM gains control has completed. The adaptor ROM check is next Fix up Multi Processor table
    98 The adaptor ROM had control and now returned control to BIOS POST. Performing any required processing after the option ROM returned controlA Search for option ROMs. One long, two short beeps on checksum failure
    99 Any initialization required after the option ROM test has completed. Configuring the timer data area and printer base address next Check for SMART Drive (optional)
    9A Set the timer and printer base address. Setting the RS-232 base address next Shadow option ROMs
    9B Returned after setting the RS-232 base address. Performing any required initialization before the coprocessor test next
    9C Required initialization before the Coprocessor test is over. Initializing the Coprocessor next Set up Power Management
    9D Coprocessor initialized Performing any required initialization after the Coprocessor test next Initialize security engine (optional)
    9E Initialization after the Coprocessor test is complete. Checking the extended keyboard, keyboard ID, and NumLock key next. Issuing the keyboard ID command next Enable hardware interrupts
    9F Determine number of ATA and SCSI drivers
    A0 Set time of day
    A1 Check key lock
    A2 Displaying any soft error next
    A3 The soft error display has completed. Setting the keyboard typematic rate next
    A4 The keyboard typematic rate is set. Programming the memory wait states next Initialize typematic rate
    A5 Memory wait state programming is over. Clearning the screen and enabling parity and the NMI next
    A7 NMI and parity enabled. Performing any initialization required before passing control to the adaptor ROM at E000 next
    A8 Initialization before passing control to the adaptor ROM at E000h completed. Passing control to the adaptor ROM at E000h next Erase F2 prompt
    A9 Returned from adaptor ROM at E000h control. Performing any initialization required after the E000 option ROM had control next
    AA Initialization after E000 option ROM control has completed. Displaying the system configuration next Scan for F2 key stroke
    AB Uncompressing the DMI data and executing DMI POST initialization next
    AC Enter SETUP
    AE Clear boot flag
    B0 If interrupts Occurs in protected mode The system configuration is displayed Check for errors
    B1 If unmasked NMI Occurs. Display Press F1 to Disable NMI, F2 Reboot Copying any code to specific areas Inform RomPilot about the end of POST
    B2 POST done prepare to boot operating system
    B3
    B4 1 One short beep before boot
    B5 Terminate Quiet Boot (optional)
    B6 Check password (optional)
    B7 Initialize ACPI BIOS
    B8
    B9 Prepare Boot
    BA Initialize SMBIOS
    BB Initialize PnP Option ROMs
    BC Clear parity checkers
    BD Display MultiBoot menu
    BE Program chipset registers with power on BIOS defaults Clear screen (optional)
    BF Program the rest of the chipset"s value according to setup (later setup value program) If auto configuration is anabled, programmed the chipset with predefined values in the MODBINable Auto Table Check virus and backup reminders
    C0 Turn off OEM specific cach, shadow Initialize standard devices with default values: DMA controller (8237); Programmable interrupt Controller (8259); Programmable interval Timer (8254); RTC chip Try to boot with INT 19
    C1 OEM Specific-Test to size On-Board memory Initialize POST error manager (PEM)
    C2 Initialize error logging
    C3 Test the first 256K DRAM Expand the compressed codes into temporary DRAM area including the compressed system BIOS & Option ROMs Initialize error display function
    C4 Initialize system error handler
    C5 OEM Specific-Early Shadow Enable for fast boot PnPnd dual CMOS (optional)
    C6 External Cache Size Detection Initialize note dock (optional)
    C7 Initialize note dock late
    C8 Force check (optional)
    C9 Extended checksum (optional)
    CA Redirect int 15h to enable remote keyboard
    CB Redirect int 13h to Memory Technologies Devices such as ROM, RAM, PCMCIA, and serial disk
    CC Redirect int 10h to enable remote serial video
    CD Re-map I/O and memory for PCMCIA
    CE Initialize digitizer and display message
    D0 The NMI is disable. Power on delay is starting. Next, the initialization code checksum will be verified
    D1 Initializing the DMA controller, performing the keyboard controller BAT test, starting memory refresh, and entering 4GB flat mode next
    D2 Unknown interrupt
    D3 Starting memory sizing next
    D4 Returning to real mode. Executing any OEM patches and setting the stack next
    D5 Passing control to the uncompressed code in shadow RAM at E000: 0000h. The initialization code is copied to segment 0 and control will be transferred to segment 0
    D6 Control is in segment 0 Next, checking if "Ctrl" "Home" was pressed and verifying the system BIOS checksum. If either "Ctrl" "Home" was pressed or the system BIOS checksum is bad, next will go to checkpoint code E0h. Otherwise, going to checkpoint code D7h
    E0 The onboard floppy controller if available is initialized. Next, beginning the base 512 KB memory test Initialize the chipset
    E1 E1 Setup-Page E1 Initializing the interrupt vector table next Initialize the bridge
    E2 E2 Setup-Page E2 Initializing the DMA and interrupt controllers next Initialize the CPU
    E3 E3 Setup-Page E3 Initialize system timer
    E4 E4 Setup-Page E4 Initialize system I/O
    E5 E5 Setup-Page E5 Check force recovery boot
    E6 E6 Setup-Page E6 Enabling the floppy drive controller and Timer IRQs. Enabling internal cach memory Checksum BIOS ROM
    E7 E7 Setup-Page E7 Go to BIOS
    E8 E8 Setup-Page E8 Set Huge Segment
    E9 E9 Setup-Page E9 Initialize Multi Processor
    EA EA Setup-Page EA Initialize OEM special code
    EB EB Setup-Page EB Initialize PIC and DMA
    EC EC Setup-Page EC Initialize Memory type
    ED ED Setup-Page ED Initializing the floppy drive Initialize Memory size
    EE EE Setup-Page EE Looking for a floppy diskette in drive A: Reading the first sector of the diskette Shadow boot block
    EF EF Setup-Page EF A read error occurred while reading the floppy drive in drive A: System memory test
    F0 Next, searching for the AMIBOOT.ROM file in the root directory Initialize interrupt vectors
    F1 The AMIBOOT.ROM file is not in the root directory Initialize Run Time Clock
    F2 Next, reading and analyzing the floppy diskette FAT to find the clusters occupied by the AMIBOOT.ROM file Initialize video
    F3 Next, reading the AMIBOOT.ROM file, cluster by cluster Initialize System Management Manager
    F4 The AMIBOOT.ROM file is not the correct size Output one beep
    F5 Next, disabling internal cach memory Clear Huge Segment
    F6 Boot to mini DOS
    F7 Boot to full DOS
    FB Next, detecting the type of flash ROM
    FC Next, erasing the flash ROM
    FD Next, programming the flash ROM
    FF Flash ROM programming was successful. Next, restarting the system BIOS

    Описание звуковых сигналов

    AMI BIOS Фатальные ошибки

    1 beep DRAM Refresh Failure. Try reseating the memory first. If the error still occurs, replace the memory with known good chips.
    2 beeps Parity error in first 64K RAM. Try reseating the memory first. If the error still occurs, replace the memory with known good chips
    3 beeps Base 64K RAM Failure. Try reseating the memory first. If the error still occurs, replace the memory with known good chips
    4 beeps System timer failure
    5 beeps Process failure
    6 beeps Keyboard controller 8042-Gate A20 Error. Try reseating the keyboard controller chip. If the error still occurs, replace the keyboard chip. If the error persists, check parts of the system relating to the keyboard, e.g. try another keyboard, check to see if the system has a keyboard fuse
    7 beeps Processor, Virtual Mode Exception Interrupt Error
    8 beeps Display memory Read/Write test failure (non-fatal). Replace the video card or the memory on the video card
    9 beeps ROM BIOS Checksum (32KB at F800:0) Failed. It is not likely that this error can be corrected by reseating the chips. Consult the motherboard supplier or an AMI product distributor for replacement part(s)
    10 beeps CMOS shutdown register read/write error
    11 beeps Cache memory error

    AMI BIOS звуковые коды (не фатальные ошибки)

    2 short POST Failure-one or more of the hardware tests has failed
    1 long 2 short An error was encountered in the video BIOS ROM, or a horizontal retrace failure has been encountered
    1 long 3 short Conventional/Extended memory failure
    1 long 8 short Display/Retrace test failed

    Award BIOS звуковые коды

    1 short No error during POST
    2 short Any Non-fatal error, enter CMOS SETUP to reset
    1 long 1 short RAM or motherboard error
    1 long 2 short Video error, cannot initialize screen to display any information
    1 long 3 short Keyboard controller error
    1 long 9 short Flash RAM/EPROM (which on the motherboard) error. (BIOS error)
    long beep Memory bank is not plugged well, or broken

    Phoenix BIOS звуковые коды

    Звуковые коды Описание/Что проверять?
    1-1-1-3 Verify real mode
    1-1-2-1 Get CPU type
    1-1-2-3 Initialize system hardware
    1-1-3-1 Initialize chipset registers with initial POST values
    1-1-3-2 Set in POST flag
    1-1-3-3 Initialize CPU registers
    1-1-4-1 Initialize cache to mitial POST values
    1-1-4-3 Initialize I/O
    1-2-1-1 Initialize Power management
    1-2-1-2 Load alternate registers with initial POST values
    1-2-1-3 Jump to User Patch0
    1-2-2-1 Initialize keyboard controller
    1-2-2-3 BIOS ROM checksum
    1-2-3-1 8254 timer initialization
    1-2-3-3 8237 DMA controller initialization
    1-2-4-1 Reset programmable interrupt controller
    1-3-1-1 Test DRAM refresh
    1-3-1-3 Test 8742 keyboard controller
    1-3-2-1 Set ES segment to register to 4GB
    1-3-3-1 28 Autosize DRAM
    1-3-3-3 Clear 512K base RAM
    1-3-4-1 Test 512K base address lines
    1-3-4-3 Test 512K base memory
    1-4-1-3 Test CPU BUS-clock frequency
    1-4-2-4 Reinitialize the chipset
    1-4-3-1 Shadow system BIOS ROM
    1-4-3-2 Reinitialize the cache
    1-4-3-3 Autosize cache
    1-4-4-1 Configure advanced chipset registers
    1-4-4-2 Load alternate registers with CMOS values
    2-1-1-1 Set initial CPU speed
    2-1-1-3 Initialize interrupt vectors
    2-1-2-1 Initialize BIOS interrupts
    2-1-2-3 Check ROM copyright notice
    2-1-2-4 Initialize manager for PCI options ROMs
    2-1-3-1 Check video configuration against CMOS
    2-1-3-2 Initialize PCI bus and devices
    2-1-3-3 Initialize all video adapters in system
    2-1-4-1 Shadow video BIOS ROM
    2-1-4-3 Display copyright notice
    2-2-1-1 Display CPU typE and speed
    2-2-1-3 Test keyboard
    2-2-2-1 Set key click if enabled
    2-2-2-3 56 enable keyboard
    2-2-3-1 Test for unexpected interrupts
    2-2-3-3 Display prompt "press F2 to enter SETUP"
    2-2-4-1 Test RAM between 512 and 640k
    2-3-1-1 Test expanded memory
    2-3-1-3 Test expanded memory address lines
    2-3-2-1 Jump to user patch1
    2-3-2-3 Configure advanced cache registers
    2-3-3-1 Enable external and CPU caches
    2-3-3-3 Display extemal cache size
    2-3-4-1 Display shadow massage
    2-3-4-3 Display non-disposable segments
    2-4-1-1 Display error massages
    2-4-1-3 Check for configuration errors
    2-4-2-1 Test real-time clock
    2-4-2-3 Check for keyboard errors
    2-4-4-1 Set up hardware interrupts vectors
    2-4-4-3 Test coprocessor of present
    3-1-1-1 Display onboard I/O ports
    3-1-1-3 Detect and install external Rs232 ports
    3-1-2-1 Detect and install external parallel ports
    3-1-2-3 Re-initialize onboard I/O ports
    3-1-3-1 Initialize BIOS data area
    3-1-3-3 Initialize extended BIOS data area
    3-1-4-1 Initialize floppy controller
    3-2-1-1 Initialize hard-disk controller
    3-2-1-2 Initialize local-bus hard-disk controller
    3-2-1-3 Jump to userPatch2
    3-2-2-1 Disable A20 address line
    3-2-2-3 Clear huge ES segment register
    3-2-3-1 Search for option ROMs

    IBM BIOS звуковые коды

    Звуковые коды Описание
    No beeps No Power, Loose card or short
    1 short beep Normal POST, computer is ok
    2 short beep POST error, review screen for error code
    Continuous beep
    Repeating short beep No power, loose card, or short
    One long and one short beep Motherboard issue
    One long and two short beeps Video (EGA) display circuitry
    Three long beeps Keyboard / keyboard card error
    One beep, blank or incorrect display Video display circuitry

    Сброс забытого пароля к BIOS

    AMI пароли:

    Другие BIOS:

    Phoenix BIOS: phoenix Megastar: star
    Biostar Biostar: Q54arwms Micron: sldkj754xyzall
    Compag: compag Micronies: dn 04rie
    CTX international: CTX_123 Packard Bell: bell9
    Dell: Dell Shuttle: spacve
    Digital Equipment: komprie Siements Nixdorf: SKY FOX
    HP Vectra: hewlpack Tinys: tiny
    IBM: IBM MBIUO sertafu TMC: BIGO

    Сброс пароля BIOS программно.

    CMOS ROM может быть сброшен программно, используя командную строку, командой debug (Работает только до Windows 7 версии, в 8-ке не работает).

    Сброс Award BIOS пароля:
    C:\>debug
    -o 70 34 "Enter"
    -o 71 34 "Enter"
    -q "Enter"
    или
    C:\>debug
    -o 70 11 "Enter"
    -o 71 11 "Enter"
    -q "Enter"

    Сброс AMI BIOS пароля:
    C:\>debug
    -o 70 16 "Enter"
    -o 71 16 "Enter"
    -q "Enter"
    или
    C:\>debug
    -o 70 10 "Enter"
    -o 71 0 "Enter"
    -q "Enter"

    Сброс Phoenix BIOS пароля:
    C:\>debug
    -o 70 ff "Enter"
    -o 71 17 "Enter"
    -q "Enter"

    Как выглядит в командной строке:


    Настройки BIOS будут стёрты, так что при следующей загрузки системы, возможно надо будет изменить настройки (например если у Вас очередность запуска дисков другая, то надо переназначить, а то система не загрузится).

    Аппаратный сброс CMOS BIOS перемычкой

  • Выключите компьютер полностью от сети
  • Переключите перемычку из положения 1-2, в положение 2-3
  • Включите питание, перезагрузите компьютер
  • Выключите компьютер. Верните перемычку в положение 1-2
  • Включите компьютер, настройки BIOS должны быть сброшены
  • Обычно хватает выполнения двух первых пунктов, только перемычку верните в исходное положение. Можно просто замкнуть отвёрткой штырьки, если перемычка отсутствует. Штырьки обычно подписаны на материнской плате: Clear CMOS, CL_CMOS , CRTC , CCMOS , CL_RTC, Clean CMOS, CMOS ROM Reset. Или можно просто вытащить батарейку.


    Можно воспользоваться универсальной утилитой CMOS De-Animator для сброса настроек BIOS программно. Может сохранять настройки в файл и восстанавливать их. Скачать с официального сайта CMOS De-Animator

    И небольшая табличка, подсказка какими клавишами можно зайти в настройки BIOS:

    Расшифровка кодов POST-карты для "Award BIOS 4.5 "

    Award BIOS Version 4.51PG

    C0 программирование регистров микросхемы Host Bridge для установки следующих режимов: External Cache запрещен. Запрещено копирование в ячейки External Cache информации, читаемой процессором (все шинные циклы Non Cacheable), а также запрещен просмотр TAGRAM на предмет кэш-попаданий (Force Cache Miss). Internal Cache запрещен. Запрещено формирование сигнала KEN# микросхемой Host Bridge, это запрещает процессору кэшировать читаемые данные. Перед запретом Internal Cache очищается программно либо аппаратно. Shadow RAM запрещено. Это приводит к направлению циклов обращения к адресам расположения System BIOS и Additional BIOS непосредственно на соответствующие ROM , а не Shadow RAM. Данная процедура пишется под конкретный Chipset. Выполняется программирование PIIX ресурсов: Контроллера DMA, контроллера прерываний, таймера, блока RTC. Контроллер DMA переводится в пассивный режим, так как конкретная инициализация каналов (установка базовых адресов, длин блоков, режимов передачи) задача не POST, а программ поддержки периферийных устройств, выполняемых уже по ходу рабочего сеанса. Контроллер прерываний настраивается следующим образом.

    Master Controller (IRQ0-IRQ7) : режим векторных прерываний, прием запроса по фронту IRQ в соответствии IRQ0=INT8...IRQ7=INT0Fh.
    Slave Controller (IRQ8-IRQ15) : режим векторных прерываний, прием запроса по фронту IRQ в соответствии IRQ8=INT70h...IRQ15=INT77h.
    На этом этапе происходит только подготовка контроллера прерываний к работе, сами прерывания запрещены, и разрешаются существенно позже, предположительно, после теста памяти 31 Таймер настраивается следующим образом.
    Counter 0 : генерация запросов IRQ0 для подсчета DOS Time, устанавливается режим деления частоты на 65536, в результате частота IRQ0 равна 18.2 Hz.
    Counter 1 : генерация запросов DRAM Refresh, устанавливается режим деления частоты на 20, в результате интервал между регенерацией двух строк DRAM около 15 мкС, т.е. 128 циклов выполняется за 2 мС.
    Counter 2 : Используется для звука. На данном этапе просто переводится в пассивное состояние, установка параметров этого счетчика происходит при выдаче сигнала на системный динамик.
    Подсистема Real Time Clock нуждается в инициализации только в случае, если произошел сбой батарейного питания. Иначе полная инициализация CMOS не выполняется, потому что это приводило бы к сбросу часов при каждом включении. Если сбоя VCC(BAT) не было, инициализируются только регистры, отвечающие за взаимодействие RTC и процессора, но не сами часы
    С1 Путем последовательных записей и контрольных считываний определяется тип памяти, суммарный объем и размещение по строкам. Результатом этого шага является настройка следующих параметров DRAM контроллера: тип памяти (SDRAM, EDO, FPM); картирующая информация (в зависимости от расположения по Socket); значение параметра Memory. Если адрес, сформированный процессором, превышает Memory , данный цикл направляется на PCI. Более точная настройка временнЫх параметров DRAM выполняется позже, в соответствии с содержимым Setup RAM либо SPD
    C3 Проверка первых 256К DRAM для организации Temporary Area. Распаковка System BIOS в DRAM, копирование Option ROMs в DRAM. Этот этап выполняется для подготовки к операции Shadow. Необходимость в Temporary Area связана с тем, что Shadow блоки ОЗУ, закрепленные за соответствующими ПЗУ, включаются на те же диапазоны адресов, что и сами ПЗУ, из-за этого нельзя выполнить пересылку (распаковку) за один прием, потому что читать надо ROM, а записывать в Shadow RAM. Поэтому вначале на соответствующий диапазон картируется ROM и выполняется пересылка (распаковка) в транзитный буфер Temporary Area, затем перепрограммируется Host Bridge так, чтобы на область адресов BIOS картировать Shadow RAM и из транзитного буфера код переносится в Shadow RAM. На этапе C3 тестируются первые 256 Кбайт DRAM, которые в дальнейшем будут использованы как транзитный буфер.
    Выполняется проверка контрольных сумм и наличие метки BBSS. Если метка не обнаружена или контрольные суммы не совпадают, принимается решение о частичном повреждении микропрограмм BIOS. Управление передается на подпрограмму восстановления FlashROM, расположенную в BootBlock. (BootBlock POST Codes)
    C5 Выполняемый код POST переносится в Shadow RAM и далее выполняется из Shadow RAM для ускорения прохождения POST.
    Shadow RAM быстрее ROM по двум причинам: разрядность ROM 8 бит, разрядность RAM равна разрядности локальной шины данных процессора. Время выборки используемых DRAM существенно меньше аналогичного параметра используемых ROM / Flash ROM
    C6 Определение присутствия, объема и типа External Cache. Наличие и параметры External Cache определяются путем записей и контрольных считываний по специальному алгоритму
    C8 Проверка целостности компонентов BIOS, расположенных в ROM. В случае несовпадения контрольной суммы компонентов делается вывод о повреждении области 128 Кб, содержащей внешний по отношению к системному BIOS файл awardext.rom. В виду того, что системный BIOS хранится в следующем 128 Кб блоке, некоторые 2 Мбит BIOS могут корректно обрабатывать эту ошибку и передавать управление на программу восстановления.
    CF Определение типа процессора. Результат помещается в CMOS. В виду того, что не все RTC инициализируются к этому моменту, сначала выполняется тест чтения/записи.
    Если по каким либо причинам определение типа CPU закончилось неудачей, такая ошибка становится фатальной и POST дальше не выполняется и система останавливается.

    01 В ранних версиях BIOS выполнялась проверка флагов признаков результата арифметической операции по такому алгоритму: флаги переноса (CF), нуля (ZF), знака (SF), переполнения (OF) принудительно устанавливаются в 1 командой SAHF, после этого проверяется что команды условного перехода JC, JZ, JS, JO выполняются. Затем подобным образом проверяется правильность отработки условных переходов при нулевых значениях этих флагов. Позднее от этого отказались по причине того, что неправильная работа флагов является очень грубой ошибкой процессора, при наличии которой POST все равно не дойдет до этого теста. Кроме того, начиная с 80386, процессоры имеют автономный тест, и при наличии такой грубой ошибки маловероятно, что процессор начнет выполнение POST вообще.

    02 Зарезервировано для ProcessorTest 2. Проверка регистров процессора путем записи и контрольного считывания. От этого теста отказались приблизительно на этапе 80386 по той же причине, что и для теста 01 .
    03 Предполагается, что верен вариант Soyo, согласно которому выполняется только настройка EISA ресурсов, а PIIX ресурсы (DMA, INT, Timer, RTC) настраиваются на шаге C0 , как это было описано выше, однако в зависимости от конкретной версии BIOS могут быть вариации.
    NMI (Non Maskable interrupt) немаскируемое прерывание, имеет фиксированный номер вектора (2), используется для сообщения процессору об аварийных ситуациях (ошибка четности DRAM, активность сигнала IOCHCK# на ISA и т.п.).
    PIE , AIE , UIE (в исходном документе Award опечатка, по ошибке указано UEI) - это три разрешающих бита для формирования запроса прерывания схемой RealTimeClock (IRQ8 = INT 70h), по трем условиям, которые можно взаимонезависимо разрешать и запрещать.
    PIE (Periodic Interrupt Enable ) - разрешение периодических прерываний с программно устанавливаемой частотой.
    AIE (Alarm Interrupt Enable ) - разрешение прерываний от будильника, формируемых при совпадении значений часов, минут, секунд в регистрах подсчета времени и регистрах будильника.
    UIE (Update Interrupt Enable ) - разрешение прерываний при завершении цикла обновления состояния счетчиков часов:минут:секунд (1 раз в секунду).
    SQWV - режим генерации программируемой частоты на специальном выходе микросхемы RTC. PIE, AIE, UIE, SQWV запрещаются при выполнении POST, для этого записывается соответственно управляющий байт в регистр 0Bh микросхемы RTC.
    04 Проверка формирования запросов на регенерацию DRAM.
    В классической реализации PC AT запросы на регенерацию DRAM генерирует канал 1 системного таймера 8254. К его выходу также подключен триггер, работающий в счетном режиме и меняющий свое состояние на противоположное при каждом запросе. Состояние этого триггера можно программно считывать через бит 4 порта 61h. Проверка Refresh Toggle заключается в проверке того факта, что этот триггер переключается с заданной частотой. Однако появились chipset, использующие другие алгоритмы регенерации DRAM, с целью свести к минимуму простои CPU из-за регенерации. В этом случае, несмотря на то, что Refresh Trigger сохраняется для совместимости, по нему уже нельзя проверить формирование запросов на регенерацию. Начиная с этого момента становится возможным использование стека
    05 Если установлены адаптеры EGA или VGA, поддерживаемые собственным BIOS, операция Blank Video на этом этапе невозможна, так как Video BIOS еще не инициализирован. Если установлены CGA или MDA, обслуживаемые процедурами видео сервиса System BIOS, теоретически есть возможность очистить экран на этом шаге.
    Проверка и инициализация контроллера клавиатуры. Контроллеру клавиатуры передается команда самотестирования и контролируется статус после ее завершения. Затем передается команда разрешения интерфейса клавиатуры.
    Примечание 1 : На данный момент прием кодов нажатых клавиш еще невозможен, так как запрещены прерывания, не подготовлены области данных BIOS, не инициализирована сама клавиатура.
    06 Тест Shadow области памяти, начинающейся с адреса F000h, где размещен BIOS. Предположительно выполняются некоторые действия направленные на дополнительную проверку памяти или содержимого памяти, так как если на шаге C5 в Shadow RAM размещен BIOS, тестировать его уже поздно. Возможно, данный шаг обусловлен спецификацией конкретного ChipSet либо присутствует в BIOS, не поддерживающих Early Shadow.
    07 Проверка функционирования CMOS и батарейного питания.
    Батарейное питание проверяется путем чтения регистра 0Dh микросхемы RTC. Бит 7 этого регистра индицирует ошибку батарейного питания, причем он сообщает об ошибке, даже если в данный момент питание CMOS в норме, но с момента последнего считывания регистра 0Dh имело место пропадание питания CMOS. Если зафиксирована ошибка питания, BIOS запоминает этот факт, но POST не останавливается. Затем выполняется Verify Basic R/W functionality - проверка ячеек CMOS как проверка памяти. Записываются значения, выполняется контрольное считывание и проверяется равенство читаемого кода записанному. В отличие от ошибки батарейного питания, ошибка, выявленная этой проверкой считается фатальной и приводит к остановке на коде 07 .
    BE Настройка конфигурационных регистров CHIPSET. Программирование конфигурационных регистров микросхем Host Bridge и PIIX. Значения загружаются из таблицы BIOS defaults, доступной пользователю с помощью утилиты MODBIN .
    08 В сложившемся разногласии видимо верное значение Absent, в виду того, что 64К, о которых здесь идет речь, уже протестированы, так как входят в 256К, задействованных на шагах C3 , C5 . OEM Specific действия по первичной настройке DRAM Controller соответственно уже проделаны.
    09 Процессоры IBM/Cyrix имеют внутренние регистры для более гибкого управления кэшированием. На этом шаге выполняется машинная команда CPUID для распознавания типа процессора (видимо, основная процедура распознавания CPU происходит существенно позже, на данном этапе следует выяснить IBM/Cyrix это или нет), если распознан IBM/Cyrix, инициализируются его регистры расширенного управления кэшированием. Выполняется инициализация L2 Cache Controller (запись управляющих слов в соответствующие регистры конфигурационного блока Host Bridge, очистка TAGRAM).

    0A1 Генерация таблицы векторов прерываний. Таблица имеет объем 1024 байта и содержит 256 указателей на процедуры обработки прерываний, на каждую процедуру - два 16-битовых слова: смещение и сегмент, на данном этапе устанавливаются 32 вектора (INT 00h - INT 1Fh), на процедуры обработки соответствующих прерываний (Interrupt Handlers), входящие в состав BIOS. Векторы 33-120 устанавливаются на процедуру заглушку. Настройка ресурсов Power Management. На этом шаге также происходит первичная настройка подсистемы управления питанием, входящей в состав PIIX, схемы генерации SMI (System Management interrupt) и установка вектора SMI .

    0B Если нажата клавиша INS, выполняется установка CMOS по умолчанию. Существенно важный момент для BIOS, поддерживающих SoftMenu. (См. FAQ №9 ) .
    Проверяется контрольная сумма блока ячеек CMOS, отвечающего за хранение конфигурационной информации, если фиксируется ошибка, устанавливается программный флаг CMOS недостоверен. Этот флаг также устанавливается, если ранее, на шаге 07 было выявлено пропадание батарейного питания CMOS.
    Если BIOS поддерживает PnP, выполняется сканирование ISA PnP устройств и инициализация их параметров (Адрес, Номера IRQ и DRQ). Для PCI устройств устанавливаются основные параметры в блоке конфигурационных регистров (PCI Bus Cycle parameters, I/O and MEMORY Address). Блок конфигурационных регистров PCI устройства содержит поля, имеющие одинаковое назначение у всех PCI устройств (стандартные) и поля, специфичные для конкретного устройства. Установка параметров PCI устройств, о которой здесь идет речь сводится к установке значений стандартных полей.
    В процессорах класса P6 существует доступ к памяти микропрограмм, в которой хранится микрокод для выполнения каждой машинной команды. Внесение изменений в микрокод, дает возможность изменять алгоритмы выполнения имеющихся машинных команд и добавлять новые.
    0C Инициализация блока переменных BIOS. На этом этапе присваиваются стартовые значения переменным BIOS, находящимся в 256-байтовом блоке 0040:0000h - 0040:00FFh.
    Разногласия с Initialize Keyboard, видимо решаются в пользу варианта Soyo, так как второе после включения питания мигание светодиодов клавиатуры происходит уже после инициализации видеоадаптера
    0D Классический подход к обнаружению видеоадаптера следующий: проверяется наличие EGABIOS или VGABIOS путем проверки наличия сигнатуры 55 AA по адресу начала Video BIOS (Seg:Offs = C000:0000h ). Если сигнатура обнаружена, проверяется контрольная сумма Video BIOS, если она правильная, происходит передача управления командой CALL FAR по адресу Seg:Offs = C000:0003h на инициализационную процедуру Video BIOS. Эта процедура настраивает видеоадаптер, переустанавливает вектор прерывания INT 10h (Video Service) на сервисную процедуру Video BIOS, выдает заставку видеоадаптера и возвращает управление вызвавшей процедуре System BIOS командой RET FAR. Если Video BIOS не обнаружен, делается попытка обнаружить CGA или MDA, путем сканирования пространства портов и поиска регистров управления CGA/MDA. Если CGA или MDA обнаружены, BIOS инициализирует видеоадаптер. В отличие от EGA/VGA, у CGA/MDA адаптеров Video BIOS нет и обработка INT 10h для CGA/MDA входит в обязанности System BIOS. Если не обнаружен никакой видеоадаптер - генерируется звуковой сигнал.
    На этом же этапе происходит распознавание типа процессора (процессоров) настройка I/O APIC, Local APIC, программирование Host Bridge для установки параметров Host Bus (Front Side Bus). Для распознавания типа процессора обычно используется команда CPUID.
    Для измерения тактовой частоты используется измерение частоты инкрементирования регистра TSC (Time Stamp Counter), который инкрементируется по каждому такту Internal CPU CLK. В качестве генератора образцовой частоты может использоваться либо системный таймер, либо RTC. Некоторые BIOS не используют Time Stamp Counter, а измеряют время выполнения цикла из последовательности команд, для которых известно количество тактов на команду. Так делалось, когда процессоры не имели TSC
    0E Если установлен видеоадаптер CGA или MDA, выполняется тест Video RAM. Для EGA/VGA такой тест был проделан Video BIOS на шаге 0D , при выполнении инициализационной процедуры C000:0003h .
    Относительно настройки APIC: скорее всего она разбита на два этапа, выполняемых на шагах 0D и 0E .
    Предположительно на этом шаге, а не 0F , настраивается клавиатура и разрешаются аппаратные прерывания от таймера 8254 (IRQ0) и клавиатуры (IRQ1).
    Инициализация RPB (Remote Pre Boot) подсистемы удаленной загрузки,
    0F Проверка первого контроллера DMA 8237, ошибочно указанного в документации SOYO канал 0 - перепутаны понятия "канал DMA" и "контроллер DMA". Проверка выполняется путем записи и контрольного считывания регистров базового адреса и длины пересылки. Собственно тестовых пересылок данных с помощью DMA каналов на этом шаге и вообще в POST не выполняется. Таким образом проверяется только чтение/запись регистров контроллера DMA процессором с помощью команд IN / OUT.
    BIOS Checksum должен был проверяться при распаковке, видимо расположение BIOS Checksum Test на этом этапе было до того, как BIOS разделили на Boot Block и основной (упакованный) блок.
    Известно, что на этом этапе выполняется определения клавиатуры и ее внутренний тест. Запрещены Reset контроллера клавиатуры и обслуживаемый им интерфейс манипулятора "мышь" PS/2. Эти действия выполняются позже на шаге 3D.
    10 Проверка второго контроллера DMA 8237.
    11 Проверка страничных регистров контроллеров DMA. Страничные регистры необходимы для расширения 16-битового адреса формируемого контроллером 8237 до 24-битового (ISA) или 32-битового (EISA).
    Обособление страничных регистров от контроллера DMA обусловлено тем, что в старых системах использовался контроллер DMA Intel 8237 в виде отдельной микросхемы, он способен формировать только 16-битовые адреса, поэтому устанавливался дополнительный блок расширения адреса (DMA Page Registers).
    Тест страничных регистров выполняется путем записей и контрольных считываний, без собственно DMA операций (пересылок)
    14 Тест канала (счетчика) 2 системного таймера. Канал 2 системного таймера используется для генерации звука. По нашим сведениям какого-либо классического подхода к этому тесту не сформировано, некоторые BIOS ограничиваются записью и контрольным считыванием регистров таймера, доступных для записи и чтения (R/W test).
    Некоторые BIOS программируют таймер на формирование заданного интервала и контролируют длительность сформированного интервала по часам RTC. Однако в случае расхождения не понятно кто ошибся - Timer или RTC. Предположительно, Award 4.51 ограничился R/W тестом,
    15 Проверка регистра маскирования запросов первого контроллера прерываний. Следует сказать, что использование термина "Channel" для контроллера прерываний нетрадиционно и приведет к путанице. Приняты следующие обозначения: Первый контроллер прерываний (Master), 8259#1. Регистры доступны по адресам 20h, 21h. Обрабатывает IRQ0-IRQ7, которым присвоены вектора INT 08h - INT 0Fh. Второй контроллер прерываний (Slave), 8259#2. Регистры доступны по адресам A0h, A1h. Обрабатывает IRQ8-IRQ15, которым присвоены вектора INT 70h - INT 77h. Выход Slave8259 подключен ко входу IRQ2 Master 8259.
    На этом шаге проверяется регистр маскирования первого контроллера прерываний путем записи тестовых кодов в порт 21h и контрольного считывания. Однако проверки собственно операции маскирования, как индивидуального разрешения/запрещения линий IRQ POST не выполняет.
    16 Проверка регистра маскирования запросов второго контроллера прерываний. Операция аналогична шагу 15 , адрес регистра маскирования для второго контроллера прерываний - A1h.
    17 Зарезервировано. Видимо у более ранних версий BIOS на этом шаге выполнялась следующая операция: устройства источники IRQ (Timer, Keyboard...) программировались таким образом, чтобы запрос IRQ зафиксировался в пассивном состоянии, затем выполнялось чтение регистров запросов контроллеров прерываний 8259#1 и 8259#2 и проверялся тот факт, что соответствующие запросы пассивны.
    Практика ремонта плат, показывает, что фиксация IRQ в состоянии 0 или 1 дает о себе знать только в момент, когда нужно взаимодействовать с устройством, IRQ которого неисправно (так происходит в большинстве случаев). На этапе теста контроллера прерываний такой дефект НЕ выявляется, поэтому предполагается, что BIOS не делает указанного действия.
    18 По описанию этот шаг подобен шагу 17 , однако, если на шаге 17 проверялось отсутствие запросов, то здесь наоборот, устройства источники IRQ программируются на активизацию запросов и проверяется запуск процедур обработки прерывания для активизированных запросов.
    На основании тех же экспериментальных данных, о которых шла речь в описании шага 17 , можно считать, что шаг 18 действительно отсутствует в том смысле, который имеет в виду Award. Имеется подтверждение о его существовании и выполнении совершенно иных тестовых процедур, связанных с определением типа процессора.
    19 Проверка пассивности запроса немаскируемого прерывания (NMI). Запрос NMI используется для сообщения процессору об аварийных ситуациях (ошибка четности памяти, активность сигнала #IOCHCK на шине ISA). Он приводит к генерации прерывания с фиксированным номером вектора - 2 и обрабатывается без участия 8259. Указанные аварийные события приводят к установке триггера NMI, сброс этого триггера выполняется программно, его состояние также можно опросить (используется порт 61h). Обычно этот тест подразумевает выполнение программного сброса триггера NMI и проверку, что он не установился повторно
    1A Предположительно, что этот шаг Reserved, а вывод на экран значения тактовой частоты CPU происходит на шаге 0D.
    1E , 1F Установка параметров шины EISA в соответствии с содержимым NV memory (EISA BIOS). Проверяется контрольная сумма блока параметров EISA (NVM Checksum), если она верная, контроллер EISA инициализируется в соответствии с указанными параметрами.
    20 ...2F Инициализация EISA устройств. В отличие от ISA, шина EISA имеет средства для индивидуальной адресации слотов (раздельные сигналы SELECT). Таким образом, имеется возможность программно распознать, в каком слоте какое устройство установлено. Возможно также выполнить раздельный доступ к конфигурационным регистрам подобно PCI, что и делается на этом шаге .
    30 1 .Get Base Memory and Extended Memory Size
    2.P6 Multi-P BIOS Only - Init I/O and Local APIC

    3.Program K5/K6 CPU"s Write Allocation
    Определение объема Base Memory и Extended Memory. Это завершающая стадия определения объема памяти, к этому моменту все операции по картированию выполнены, и на этой стадии уже начинается тестирование памяти, BIOS выполняет запись/контрольное считывание, определяет, начиная с какого адреса прекращается совпадение читаемых значений записанным и этот адрес принимается как граница памяти.
    Настройка APIC применительно к P6 освещена достаточно мало.
    K5/K6 Write Allocation - это нововведение AMD, которое сводится к следующему. У процессоров Intel поводом для кэширования ячейки является только ее чтение, после того, как ячейка с определенным адресом кэширована, это приносит пользу также и при записи (Write Back), однако само кэширование выполняется только при чтении, поэтому если в выполняемом коде попадается серия из последовательных записей по одинаковым (или близким) адресам, кэш не приносит пользы, если до этого эти адреса не считывались программой. AMD Write Allocation - режим, при котором поводом для кэширования является не только чтение данных, но и запись. Это чревато коллизиями, как любое отступление от стандарта Intel, поэтому AMD предусмотрела возможность программного управления этим режимом, вплоть до отключения его. Настройка регистров процессоров AMD K5/K6, управляющих этим режимом, и есть часть шага 30.

    31 1. Test base memory from 256K to 640K and extended memory above 1MB .
    2. Test Extended Memory from 1M to the of memoryusing various patterns.
    NOTE: This will be skipped in EISA mode and can be "skipped" with ESC key in ISA mode.
    3. USB Init .
    Основной отображаемый на экране тест оперативной памяти. Для объема памяти, определенного на шаге 30 выполняется тест, путем записи нескольких видов Pattern и их контрольного считывания. Предположительной причиной разногласий по EISA является тот факт, что по старым стандартам, иметь более 16 Мбайт памяти могла только EISA система. Сейчас это не так, и вся физически присутствующая память тестируется на этом этапе, во всяком случае для не EISA системы.
    Инициализация USB. По USB есть сомнения: это действие не имеющее отношение к тесту памяти и для него должны были зарезервировать отдельный код.
    32 IfEISA Mode flag is set then test EISA memory found in slots initialization.
    NOTE: This will be skipped in ISA mode and can be "skipped" with ESC key in EISA mode.
    Display the Award Plug and Play BIOS Extension message (PnP BIOS ONLY).
    Program all onboard super I/O chips(if any) including COM ports, LPT ports, FDD port... according to setup value Program onboard audio devices
    Если исходить из предположения, что вся память проверяется на шаге 31 , то для шага 32 верным кажется вариант Soyo, где нет упоминаний про память.
    Выводится заставка Plug and Play BIOS Extension .
    Настройка ресурсов Super I/O. Микросхема SIO вводится в режим конфигурирования. В соответствии с установками Setup, если CMOS достоверен, программируются параметры: базовые адреса программно-доступных ресурсов COM, LPT, FDC, GamePort номера используемых линий IRQ и DRQ. После этого отключается режим конфигурирования SIO.
    Аналогично программируется Onboard Audio Device. Если Audio Device подключено к PCI, его настройка происходит не на этом шаге, а на шаге 0B .
    39 Programming clock synthesizer by I2C bus .
    Предположительно, на этом шаге выполняется программирование тактового генератора по шине I2C
    3C Set flag to allow users to enter CMOS Setup Utility. Установка программного флага разрешения входа в Setup.
    3D 1. Initialize Keyboard.
    2. Install PS2 mouse .
    3. Build the INT 15h function E820H table .
    4. Build the PnP Device Node for total memory size .
    Инициализация PS/2 mouse. Один из альтернативных моментов для инициализации клавиатуры.
    Относительно функции E820h и PnP Device Node информации мало.
    3E Try to turn on Level 2 cache.
    NOTE: Some chipset may need to turn on the L2 cache in this stage. But usually, the cache is turn on later in POST 61h.
    Один из альтернативных моментов для инициализации контроллера External Cache и разрешения Cache
    BF 1. Program the rest of the Chipset"s value according to Setup (Later Setup Value Program).
    2. If auto-configuration is enabled, programmed the chipset with pre-defined values in the MODBINable Auto-Table .
    Настройка конфигурационных регистров CHIPSET в соответствии с установками CHIPSET Setup. Доступно для утилиты MODBIN.
    40 Display virus protect disable or enable - Absent .
    Отображение состояния опции Virus Protect, исключено в новых версиях BIOS
    41 Initialize floppy disk drive controller and any drives.
    Инициализация подсистемы гибких дисков.
    Для BIOS поддерживающих процессоры P6 сначала выполняется отключение local APIC, потому что в противном случае запрос IRQ не может быть правильно сгенерирован. Затем, для всех типов BIOS, выполняется программный сброс контроллера дисковода (через порт 3F2h). Снимается маскирование запроса прерывания от дисковода (IRQ6), для этого обнуляется бит 6 в порте 21h, проверяется прохождение запроса прерывания от контроллера дисковода. Устанавливаются параметры работы контроллера дисковода (командой SPECIFY). Если в Setup разрешен Floppy Drive Seek Test, выполняется тест позиционирования для установленных дисководов
    42 1. Cut IRQ 12 connection if PS2 mouse is not installed.
    2. Install IDE Hard Drives. Auto-detect HDDs. Build the AT compatible HDD table for Type 47. Set PIO timing .
    3. Detect CD ROM on IDE Bus .
    4. Detect LS120 drive .
    Отключение IRQ12 если PS/2 mouse отсутствует.
    Выполняется программный сброс контроллера жестких дисков. Если для устройства в Setup указан режим AUTO, выполняется команда IDENTIFY DRIVE, иначе параметры устройства берутся из CMOS. Выполняется программирование конфигурационных регистров PIIX для установки PIO Mode.
    Выполняется сканирование на предмет наличия других IDE устройств (CDROM, LS120 ...). Если на Primary IDE присутствуют устройства, размаскируется IRQ14, обнуляется бит 6 в порте A1h. Если на Secondary IDE присутствуют устройства, размаскируется IRQ15, обнуляется бит 7 в порте A1h. Проверяется прохождение соответствующих IRQ (только для HDD)
    43 1. Detect and Initialize Serial/Parallel Ports (also game port).
    2. If it is a PNP BIOS, initialize serial and parallel ports .
    Предположительно само конфигурирование Si/o Chip происходит на шаге 32 , а на шаге 43 ресурсы SIO вносятся в формируемый BIOS список PnP устройств.
    45 Detect and Initialize math coprocessor. Инициализация сопроцессора FPU.
    Проверка наличия (Detect) в обычном понимании не выполняется, так как наличие/отсутствие FPU однозначно следует из информации, прочитанной по команде CPUID при определении CPU Type. Но в силу того, что убедиться в функциональной пригодности этого устройства невозможно на ранних этапах POST, выполняется ряд тестов с участием памяти, подтверждающих корректность определения FPU.
    Под инициализацией обычно понимается программный сброс FPU и запись управляющего слова в регистр FPU CW .
    4E 1. Reboot if Manufacturing pin POST Loop is set. Otherwise display any messages (i.e., any non-fatal errors that were detected during POST) and enter Setup.
    2. If there is any error detected (such as video, keyboard etc.), show all the error messages on the screen and wait for user to press key .
    3. Enable "Far Hit" for IBM/Cyrix 6x86 CPU. Инициализация клавиатуры USB.
    Некоторые материнские платы (в основном в конструктиве Socket 7) имеют перемычку для заводского тестирования. Если указанная перемычка установлена, выполняется перезагрузка. В противном случае на экран выводятся сообщения о нефатальных ошибках, таких как несоответствие HDD объявленному в CMOS типу, отказе клавиатуры и тому подобное.
    На данном этапе становится возможен вход в CMOS Setup, если отработано нажатие клавиши DEL.
    В случае, если перемычка заводского тестирования не установлена либо не предусмотрена вообще и обнаружены ошибки, не препятствующие дальнейшему выполнению POST и старту операционной системы, выводится сообщение и ожидание продолжить POST по нажатию любой клавиши. Для клавиатуры в стандарте DIN или PS/2 инициализация уже выполнена на шаге 3D , поэтому выполняется только проверка состояния KeyLock. Прочие параметры клавиатуры устанавливаются на шаге 62 .
    В связи с тем, что на шаге 45 завершены все инициализационные процедуры для CPU, становится возможным выбрать протокол работы с cache L2, если установлен процессор IBM/Cyrix. Разрешается Write Allocation .
    4F 1. If password is needed, ask for password.
    2. Clear the Energy Star Logo (Green BIOS ONLY) .
    Запрос на ввод пароля, если это предусмотрено установками CMOS Setup.
    Логотип Energy Star Pollution или его заменяющий исчезает.
    50 Write all CMOS values back to RAM and clear screen.
    Write all the CMOS values currently in the BIOS stack area back into the CMOS .
    Восстановление ранее сохраненного в ОЗУ состояния CMOS. При выполнении некоторых фрагментов POST содержимое CMOS может модифицироваться, поэтому исходное содержимое CMOS копируется в ОЗУ, обычно стек BIOS, а после прохождения искажающих CMOS фрагментов, записывается обратно в CMOS .
    51 Enable parity checker, Enable NMI, Enable cache, reset flags before boot.
    Относительно разрешения контроля четности, немаскируемых прерываний, cache L1/L2 и переустановки флагов информации нет. Предположительно, выполнение указанных операций возможно только для чип сетов типа Intel HX, осуществляющих поддержку контроля четности.
    Разрешено автоопределение HDD по схеме с 32-битным доступом.
    Инициализация и установка параметров устройств ISA/PnP до инициализации устройств PCI
    52 1. Initialize any option ROMs present from C8000h to EFFFFh .
    NOTE: When FSCAN option is enabled, will initialize from C8000h to F7FFFh .
    2. Later PCI initializations (PCI BIOS ONLY) - assign IRQ to PCI devices - initialize all PCI ROMs.
    3. Program shadows RAM according to Setup settings.
    4. Program parity according to Setup setting.
    5. Power Management Initialization. Enable/Disable global PM - APM interface initializtion.
    Инициализация ПЗУ дополнительных BIOS (ROMSCAN процедура). В диапазоне адресов C8000H-EFFFFH выполняется поиск сигнатур дополнительных BIOS (55 AA), если сигнатура обнаружена, считывается байт длины блока (идущий после сигнатуры) для блока проверяется контрольная сумма, и в случае верной контрольной суммы управление передается командой FAR CALL по смещению 0003 относительно начала блока. Предполагается, что дополнительный BIOS выполнит инициализацию устройства, которое он обслуживает, перехватит необходимые вектора прерываний и вернет управление в System BIOS командой RET FAR. Типичный пример - SCSI BIOS, который обычно перехватывает INT 13h и берет на себя обслуживание SCSI HDD. Video BIOS использует ту же идеологию, но находится на особом положении - его инициализация происходит раньше, для обеспечения возможности отображения выполнения POST на экране.
    Assign IRQ to PCI devices - имеется в виду установка значений четырех конфигурационных регистров PIIX (по числу линий PCI INT), в которые записывается, на какое IRQ картируется каждая из линий запросов прерывания PCI (INTA#, INTB#, INTC#, INTD#). Для дополнительных BIOS в соответствии с установками Setup, опционально включается режим Shadow. Для System BIOS он включен всегда.
    На этом этапе также программируется:
    формирование NMI (Nonmaskable Interrupt) для Parity Check
    формирование SMI (System Management Interrupt) для Green функций
    53 Initialize time value in 40h: BIOS area.
    1. If it is NOT a PNP BIOS, initialize serial and parallel ports .
    2. Initialize time value in BIOS data area by translate the RTC time value into a timer tick value .
    Установка счетчика DOS Time в соответствии с Real Time Clock. Значение времени в формате часы:минуты:секунды пересчитывается в тики таймера 18.2 Hz и записывается в ячейки DOS Time в области переменных BIOS. Установка переменных BIOS, хранящих базовые адреса портов.
    60 SetupVirus Protection (Boot Sector Protection) functionality according to Setupsetting .
    Установка антивирусной защиты BOOT Sector. В большинстве плат такая защита реализуется программно. Перед входом в процедуру обработки дискового сервиса (INT 13h) устанавливается транзитный программный модуль, который анализирует входные параметры функции и детектирует две ситуации:
    Попытка записи в BOOT Sector (AH=3 , CL=1 , CH=0 , DL=8xh , DH=0 )
    Попытка форматирования Track 0 (AH=5 , CH=0 , DL=8xh , DH=0 )
    Если система условий - значения регистров - выполняется, вместо дисковой операции выдается предупреждающее сообщение и звуковой сигнал. На шаге 60 выполняется перестановка вектора INT 13h на транзитный контролирующий модуль, если в Setup включен данный режим.
    61 1. Try to turn on Level 2 cache.
    Note: if L2 cache is already turned on in POST 3D, this part will be skipped .
    2. Set the boot up speed according to Setup setting .
    3. Last chance for Chipset initialization .
    4. Last chance for Power Management initialization (Green BIOS only) .
    5. Show the system configuration table .
    Один из альтернативных моментов для включения External Cache.
    Завершающие действия по инициализации Chipset и Power Management
    62 1. Setup daylight saving according to Setup value .
    2. Program the NUM Lock, typmatic rate and typmatic speed according to Setup setting Чтение KBD ID.
    Установка режима Daylight Saving - разрешение автоматического перехода на зимнее/летнее время для RealTimeClock, состояния NUM Lock, частота автоповтора и время ожидания до входа в режим автоповтора.
    63 1. If there is any changes in the hardware configuration, update the ESCD information (PNP BIOS ONLY) .
    2. If there is any changes in the hardware configuration, update the DMI data pool (DMI BIOS ONLY) .
    3. Clear memory that have been used .
    4. Boot system via INT 19h .
    Коррекция блоков ESCD, DMI, если изменилась конфигурация. Очистка, обнуление ОЗУ.
    75 Thermal Warning .
    Если в качестве контроллера системного мониторинга используется LM78, выполняется сигнализация о превышении допустимых значений температурного режима.
    В настоящее время нет достоверной информации о генерации этого кода контроллерами других производителей, например Winbond Electronics или Genesys Logic.
    80 ...83 , 90 ...93 Primary Master IDE Power Off(80)/On(90); Primary Slave IDE Power Off(81)/On(91); Secondary Master IDE Power Off(82)/On(92); Secondary Slave IDE Power Off(83)/On(93) .
    84 and 94 Sound Chip Power Off(84)/On(94) .
    86 ...88 , 96 ...98 COMA Power Off(86)/On(96) ; COMB Power Off(87)/On(97) ; LPT Power Off(88)/On(98).
    8B and 9B Turn CRT Off(8B)/On(9B) .
    85 , 89 , 8A , 8C , 8D and 95 , 99 , 9A , 9C , 9D Turn Unknown Devices Off/On .
    Это не один из этапов POST, а вывод в диагностический порт контрольных точек включения / выключения неизвестных устройств.
    Следует отметить, что все коды группы 80 и 90 связаны с событиями, возникающими в процессе Green Functions. На сегодня нет достоверной информации, однозначно определяющей устройства, кроме выше упомянутых, участвующих в функциях энергосбережения
    B0 Spurious. If interrupt occurs in protected mode.
    Обработчик-заглушка прерываний (исключений) для защищенного режима. Это не один из этапов POST, а процедура, на которую устанавливаются вектора (для защищенного режима не вектора, а дескрипторы IDT) внутренних прерываний (исключений) процессора на время работы в Protected Mode, например, при тесте Extended Memory. Если при работе в Protected Mode не будет сбоев, эта процедура и не получит управления. Если будут иметь место ошибки, например некорректные данные в дескрипторных таблицах, страничные нарушения и другие исключительные ситуации Protected Mode, управление будет передано на эту процедуру, она выведет код B0 в Port 80 и остановится
    B1 If unmasked NMI occurs, display Press F1 to disable NMI, F2 reboot . Unclaimed NMI occurs.
    Обработчик-заглушка немаскируемого прерывания. Это не один из этапов POST, а процедура, на которую указывает вектор немаскируемого прерывания. Если возник запрос NMI, и не удалось идентифицировать причину NMI, в Port80 выводится этот код, на экран выводится сообщение:
    Press F1 to disable NMI, F2 to reboot .
    И ожидаются действия пользователя.
    B2 Unknown action .
    55 and BB Begin to Shutdown the system 5 Volt; Begin to Shutdown the system 0 Volt .
    D3 SMI Handle .
    D7 Software Doze .
    D8 Software Standby .
    D9 Software Suspend .
    E1 ...EF Setup Pages E1 - Page 1 , E2 - Page 2 , etc.
    По этой операции проверенной информации нет, предположительно, что это актуально для старых систем, у которых доступ к BIOS ROM организуется постранично через картируемое окно, при установке каждой новой страницы выводится код Ex, где x - номер страницы. Этот факт подтверждается существованием в указанном диапазоне кодов, связанных с выполнением других процессов
    EC ECC Post Code associate with System Management Interrupt (SMI) .
    В настоящее время нет достоверной информации о причинах генерации этого кода. Предположительно, его возникновение связано с обработкой ECC в процессе выполнения Green Functions .
    ED HDD hang up on 0V resume.
    Данный код сигнализирует об ошибке выхода HDD из режима энергосбережения.
    FF System Booting .
    This means that the BIOS already pass the control right to the operating system.
    Передача управления загрузчику BOOT сектора. BIOS выполняет команду INT 19h. Процедура обработки прерывания INT 19h последовательно пытается заг.

    PI0049

    POST-карта для дефектации компьютерных материнских плат, модель PI0049, предназначена для ото-бра-же-ния POST-кодов всех производителей BIOS. Данное изделие более известно под названием PC Ana-lyz-er 2 , особенности функционирования которого неоднократно рассматривались на страницах нашего сайта. Руководство пользователя содержит перечень инженерных паролей, а также список стандартных сочетаний клавиш для входа в BIOS . Разработка POST-карты защищена патентом 01224987.4 (Китай).

    PI0050

    POST-карта IC80 V5.0

    QiGuan KLPI6

    Диагностическая карта KLPI6-SD производства QiGuan Electronics выполнена в соответствии с нормами международного стандарта IEC 61010-1, устанавливающему требования к низковольтному испы-та-тель-но-му оборудованию по перенапряжению. Функциональная особенность POST-карты KLPI6-SD — воз-мож-ность индикации POST-кодов персонального компьютера на внешней дисплейной панели. Кроме те-ку-ще-го кода на обеих индикаторах отображаются предыдущие значения, а также POST-код фатального сбоя.

    QiGuan MKCP6A

    Плата для диагностики персональной платформы и тестирования ее на стабильность (Diagnostics and Stability Test Card), модель MKCP6A , разработана компанией QiGuan Electronics с использованием технологии, защищенной национальным патентом 03126857.9 (Китай). Для отображения ПОСТ-кодов на плате имеется три пары(!) индикаторов: первая пара предназначена для вывода сбойного кода, следующая выводит текущий POST-код, последняя — предыдущий код.

    SL-M04A

    Раритетная версия руководства пользователя на турецком языке к диагностическому POST-контроллеру PC Analyzer (по-турецки PC Analizoru). Кроме широко известных описаний POST-кодов включает в себя перечень контрольных точек почти всех известных производителей BIOS. Для удобства все пост-коды отсортированы по номеру, что облегчает доступ и понимание. Комментарии к ним следуют не-по-сред-ствен-но за кодом и разделены названием BIOS.


    18.03.2019

    Контрольные точки процедур 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К