Plug and Play BIOS Specification
Plug and Play BIOS Specification 1.0A Page 16
3.1 Option ROM Header
The Plug and Play Option ROM Header follows the format of the Generic Option ROM Header extensions
described in Appendix A. The Generic Option ROM header is a mechanism whereby the standard ISA
Option ROM header may be expanded with minimal impact upon existing Option ROMs. The pointer at
offset 1Ah may point to ANY type of header. Each header provides a link to the next header; thus, future
Option ROM headers may use this same generic pointer and still coexist with the Plug and Play Option
ROM header. Each Option ROM header is identified by a unique string. The length and checksum bytes
allow the System BIOS and/or System Software to verify that the header is valid.
Standard Option ROM Header:
Offset Length Value Description
0h 2h AA55h Signature Standard
2h 1h Varies Option ROM Length Standard
3h 4h Varies Initialization Vector Standard
7h 13h Varies Reserved Standard
1Ah 2h Varies Offset to Expansion Header Structure New for Plug and
Play
Signature - All ISA expansion ROMs are currently required to identify themselves with a signature
WORD of AA55h at offset 0. This signature is used by the System BIOS as well as other software to
identify that an Option ROM is present at a given address.
Length - The length of the option ROM in 512 byte increments.
Initialization vector - The system BIOS will execute a FAR CALL to this location to initialize the Option
ROM. A Plug and Play System BIOS will identify itself to a Plug and Play Option ROM by passing a
pointer to a Plug and Play Identification structure when it calls the Option ROM's initialization vector. If
the Option ROM determines that the System BIOS is a Plug and Play BIOS, the Option ROM should not
hook the input, display, or IPL device vectors (INT 9h, 10h, or 13h) at this time. Instead, the device
should wait until the System BIOS calls the Boot Connection vector before it hooks any of these vectors.
Note: A Plug and Play device should never hook INT 19h or INT 18h until its Boot Connection Vector,
offset 16h of the Expansion Header Structure (section 3.2), has been called by the Plug and Play system
BIOS.
If the Option ROM determines that it is executing under a Plug and Play system BIOS, it should return
some device status parameters upon return from the initialization call. See the section on Option ROM
Initialization for further details.
The field is four bytes wide even though most implementations may adhere to the custom of defining a
simple three byte NEAR JMP. The definition of the fourth byte may be OEM specific.
Reserved - This area is used by various vendors and contains OEM specific data and copyright strings.
Offset to Expansion Header - This location contains a pointer to a linked list of Option ROM expansion
headers. Various Expansion Headers (regardless of their type) may be chained together and accessible via
this pointer. The offset specified in this field is the offset from the start of the option ROM header.