Plug and Play BIOS Specification
Plug and Play BIOS Specification 1.0A Page 17
3.2 Expansion Header for Plug and Play
Offset Length Value Description
0h 4 BYTES $PnP
(ASCII)
Signature Generic
04h BYTE Varies Structure Revision 01h
05h BYTE Varies Length (in 16 byte increments) Generic
06h WORD Varies Offset of next Header (0000h if none) Generic
08h BYTE 00h Reserved Generic
09h BYTE Varies Checksum Generic
0Ah DWORD Varies Device Identifier PnP Specific
0Eh WORD Varies Pointer to Manufacturer String (Optional) PnP Specific
10h WORD Varies Pointer to Product Name String (Optional) PnP Specific
12h 3 BYTE Varies Device Type Code PnP Specific
15h BYTE Varies Device Indicators PnP Specific
16h WORD Varies Boot Connection Vector - Real/Protected mode
(0000h if none)
PnP Specific
18h WORD Varies Disconnect Vector - Real/Protected mode (0000h if
none)
PnP Specific
1Ah WORD Varies Bootstrap Entry Point - Real/Protected mode (0000h
if none)
PnP Specific
1Ch WORD 0000h Reserved PnP Specific
1Eh WORD Varies Static Resource Information Vector- Real/Protected
mode (0000h if none)
PnP Specific
Signature - All Expansion Headers will contain a unique expansion header identifier. The Plug and Play
expansion header's identifier is the ASCII string "$PnP" or hex 24 50 6E 50h (Byte 0 = 24h ... Byte 3 =
50h).
Structure Revision - This is an ordinal value that indicates the revision number of this structure only and
does not imply a level of compliance with the Plug and Play BIOS version.
Length - Length of the entire Expansion Header expressed in sixteen byte blocks. The length count starts
at the Signature field.
Offset of Next Header - This location contains a link to the next expansion ROM header in this Option
ROM. If there are no other expansion ROM headers, then this field will have a value of 0h. The offset
specified in this field is the offset from the start of the option ROM header.
Reserved - Reserved for Expansion
Checksum - Each Expansion Header is checksummed individually. This allows the software which
wishes to make use of an expansion header (in this case, the system BIOS) the ability to determine if the
expansion header is valid. The method for validating the checksum is to add up all byte values in the
Expansion Header, including the Checksum field, into an 8-bit value. A resulting sum of zero indicates a
valid checksum operation.
Device Identifier - This field contains the Plug and Play Device ID.
Pointer to Manufacturer String (Optional) - This location contains an offset relative to the base of the
Option ROM which points to an ASCIIZ representation of the board manufacturer's name. This field is
optional and if the pointer is 0 (Null) then the Manufacturer String is not supported.
Pointer to Product Name String (Optional) - This location contains an offset relative to the base of the
Option ROM which points to an ASCIIZ representation of the product name. This field is optional and if
the pointer is 0 (Null) then the Product Name String is not supported.
Device Type Code - This field contains general device type information that will assist the System BIOS
in prioritizing the boot devices.
The Device Type code is broken down into three byte fields. The byte fields consist of a Base-Type code
that indicates the general device type. The second byte is the device Sub-Type and its definition is