ROM Scan

 Язык

Описание

English

Initializing the bus option add-on ROM

Русский

В обязанности процедуры ROM Scan входит поиск, проверка и инициализация дополнительных BIOS, принадлежащих устройствам, расположенным на ISA или PCI/AGP шинах (add-on adapters). Как правило, BIOS дополнительного адаптера записан в микросхему ROM, которая находится в адресном пространстве памяти. Из числа наиболее известных устройств с автономными BIOS можно привести в пример адаптеры дисковых подсистем (SCSI, MFM, IDE) и их RAID модификации. Видео адаптеры оснащаются Video BIOS, а сетевые контроллеры - Boot ROM, которые также обслуживаются системным BIOS.
   Поиск
Поиск дополнительных ROM выполняется в диапазоне адресов от 0C800h до 0EFFFh путем проверки сигнатуры 55AAh в начале каждого 512-байтового блока. Если сигнатура обнаружена, считывается байт длины, расположенный сразу после сигнатуры, который определяет объем дополнительного BIOS в единицах 512 байт.
   Проверка
Для блока, длина которого определена на предыдущем шаге, вычисляется контрольная сумма по модулю 256. Если контрольная сумма равна нулю, принимается решение о том, что дополнительный ROM верифицирован и готов принять управление от системного BIOS.
   Управление
Передача управления инициализационной процедуре дополнительного BIOS выполняется по команде CALL FAR по адресу Seg:Offs = X:0003, где X-сегментный адрес обнаруженного ROM. Рассмотрим на примере SCSI BIOS, как работает инициализационная процедура:
вывод сообщения SCSI BIOS, в котором отражено название производителя, версия и комбинация клавиш, по которой выполняется вход в локальную процедуру Setup
настройка регистров SCSI контроллера и обслуживающих процессоров
сканирование шины SCSI для поиска устройств подключения
перехват прерывания дискового сервиса INT 13h
перехват прерывания, на которое картируется IRQ, используемое SCSI контроллером, и размаскирование его в 8259

Video BIOS, расположенный в сегменте C000h работает по такому же принципу, но для обеспечения визуализации POST инициализируется раньше

   Возврат
Процедура ROM Scan завершается командой FAR RET, по которой происходит возврат управления в POST для выполнения системного BIOS