♦ При вызове процедуры ЕS: DI
BX
содержит CSN
карты ISA PnP (для других карт FFFFh); DX
— адрес порта чтения ISA PnP (для других карт FFFFh).♦ При исполнении процедура может переопределять любые векторы прерываний и изменять данные в BDA
EBDA
, но перед возвратом она обязана восстановить прежние указатели для Int 9h
, Int 10h
, Int 13h
и все прежние значения связанных с ними переменных в BDA
и EBDA
.♦ При возврате в АХ
• бит 8 — устройство начальной загрузки, поддерживающее блочные функции INT 13h
• бит 7 — устройство вывода, поддерживающее символьный вывод («телетайпный» режим) INT 10h
• бит 6 — устройство ввода, поддерживающее символьный ввод INT 9h
• биты 5:4 — состояние подключения загрузочного устройства: 00 — не подключено, 01 — неизвестно, 10 — подключено (для устройства RPL соединение установлено), 11 — резерв;
• биты 3:2 — состояние подключения устройства вывода (аналогично предыдущему);
• биты 1:0 — состояние подключения устройства ввода (аналогично предыдущему).
Как видно из данного описания, расширенный заголовок и правила поведения процедуры инициализации позволяют системной BIOS более гибко пользоваться функциями дополнительных модулей BIOS — традиционные дополнительные модули со стороны системной BIOS были практически неуправляемыми. Заголовок данного вида может использоваться и картами ISA без поддержки PnP. Если эти карты будут передавать информацию о своих статических ресурсах, они окажут большую услугу для распределения ресурсов системой BIOS с поддержкой PnP. Таким образом, приспособить карту для работы в среде PnP можно всего лишь модификацией содержимого ее ПЗУ расширения BIOS.
Карта ISA PnP может быть установлена в разные системы, имеющие BIOS как с поддержкой PnP, так и без. Процедура инициализации должна исполняться адекватно обнаруженной среде: без PnP BIOS она должна работать традиционным способом, при необходимости загрузки перехватывая INT 19h
12.9.2. Expansion ROM карт PCI
Для содержимого ПЗУ расширения BIOS, установленных на картах PCI, принят стандарт, несколько отличающийся от традиционных дополнительных модулей ROM BIOS. Заголовок ПЗУ соответствует традиционному, но дополнительно имеет указатель на
Таблица 12.10
. Структура данных PCIСмещение | Длина, байт | Назначение |
---|---|---|
0 | 4 | Сигнатура, строка символов "PCIR" |
4 | 2 | Идентификатор производителя |
6 | 2 | Идентификатор устройства |
8 | 2 | Резерв¹ |
Ah | 2 | Длина структуры (байт), начиная с сигнатуры |
Ch | 1 | Версия структуры (0 для данной версии) |
Dh | 3 | Код класса |
10h | 2 | Длина образа |
12h | 2 | Версия кода/данных |
14h | 1 | Тип кода: 0 — х86 для PC-АТ, 2 — HP PA-RISC |
15h | 1 | Индикатор: 1 — последний образ, 0 — не последний |
16h | 2 | Резерв |
¹ До спецификации PCI 2.2 здесь помещался указатель на строку Vital Product Data (важные сведения о продукте).