Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #93, СЕНТЯБРЬ 2006 г.

Жесткий кодинг

Крис Касперски

Хакер, номер #093, стр. 093-136-5


* установка всех регистров чипсета в значения по умолчанию (берутся из BIOS);

* детектирование типа ЦП;

* инициализация таблицы векторов прерываний;

* считывание установок CMOS в стек BIOS'а;

* построение карты ресурсов для PCI- и P&P-устройств;

* инициализация тактового генератора;

* сканирование всех устройств, подключенных к PCI-шине;

* назначение устройствам IRQ и портов ввода/вывода;

* поиск видео-карты и отображение VGA BIOS на сегмент C000h;

* инициализация буфера клавиатуры для вектора INT 09h;

* инициализация внутренних MTRP-регистров ЦП для отображения памяти 0-640 Кб;

* инициализация APIC-контроллера;

* установка регистров чипсета в соответствии с настройками CMOS;

* инициализация интегрированного IDE-контроллера;

* измерение тактовой частоты ЦП;

* вызов VIDEO-BIOS;

* вывод на экран информации о типе ЦП, тактовой частоте, логотипа BIOS и т. д.;

* сброс клавиатуры;

* тест битовой маски контроллера прерываний 8259 для канала 1;

* тест битовой маски контроллера прерываний 8259 для канала 2;

* первичная инициализация шины USB;

* тестирование и очистка памяти;

* готовность выйти в BIOS Setup по нажатию <DEL>;

* инициализация PS/2 мыши;

* инициализация и выделение ресурсов интегрированным COM и LPT-портам;

* инициализация привода гибких дисков;

* детектирование и инициализация IDE-приводов (HDD, LS120, ZIP, CDROM);

* детектирование и инициализация не интегрированных COM/LPT-портов;

* перепрограммирование шрифтов для вывода EPA-логотипа в текстовом режиме;

* вывод EPA-логотипа;

* вызов hock-процедуры менеджера энергопитания;

* восстановление шрифтов, используемых для вывода EPA-логотипа;

* запрос пароля (если загрузка компьютера защищена паролем);

* запись всех данных из стека BIOS обратно в CMOS;

* инициализация загрузочных устройств P&P;

* финальная инициализация шины USB;

* инициализация APCI-таблицы на вершине памяти;

* поиск ISA-устройств (если есть эта рухлядь) и вызов их BIOS'ов;

* финальное распределение между ISA и PCI устройствами;

* финальная инициализация чипсета;

* финальная инициализация менеджера энергопитания;

* очистка экрана и вывод таблицы с информацией о конфигурации всех устройств;

* инициализация клавиатурных индикаторов и установка скорости автоповтора;

* построение MP-таблицы;

* построение и обновление ESCD-таблицы;

* установка века в CMOS;

* загрузка даты/времени в область данных BIOS;

* построение таблицы маршрутизации аппаратных прерываний MSIRQ;

* попытка загрузки с загрузочного носителя (вызов прерывания INT 19h);

* на этом BIOS прекращает свою работу и передает управление boot-сектору;

ссылки по теме

BIOSmods

Портал, посвященный BIOS'у и его доработке (на английском языке): http://www.biosmods.com/;

ROM

Статьи по прошивке и доработке прошивок, уникальный инструментарий (на русском языке): http://www.rom.by;

Часто задаваемые вопросы о BIOS:

довольно устаревшее, но все-таки полезное FAQ по BIOS'ам (на русском языке): http://www.ixbt.com/mainboard/faq/biosfaq.shtml;

The Official Website of Pinczakko:

Назад на стр. 093-136-4  Содержание  Вперед на стр. 093-136-6