Plug and Play BIOS Specification

Plug and Play BIOS Specification 1.0A Page 13
and Play system BIOS. Once the option ROM has determined the environment it is installed in, it can
perform the proper steps for initialization.
In the first environment, which is a standard PC compatible system that does not have a Plug and Play
compatible system BIOS, the ISA option ROM scan will be performed and the Plug and Play option ROM
should initialize exactly as if it was a standard ISA option ROM.
In the second environment, where the system has a Plug and Play system BIOS, the option ROM will
recognize the Plug and Play installation check structure and perform the initialization as specified in
section 3, which describes the option ROM support. Option ROM initialization routines can not depend
on any of the Plug and Play runtime functions to be available until after INT19 has been invoked at the
end of the POST process.2.4 Interrupt 19H Execution
Interrupt 19h, commonly referred to as the system bootstrap loader, is responsible for loading and
executing the first sector of the operating system. This bootstrap sequence is the final component of the
system BIOS POST before control is passed onto the operating system. In a PC system, the Initial
Program Load (IPL) device can easily be any device supported by an option ROM if it intercepts Interrupt
13h and provides these services. However, some option ROMs have gone even further and captured
Interrupt 19h to control the bootstrap process.
An Option ROM which takes control of Interrupt 19h presents a major problem to a Plug and Play system
BIOS. The system BIOS can no longer control which device will be the Initial Program Load (IPL)
device since it no longer controls the bootstrap sequence. Given this dilemma, the system BIOS POST
will recapture Interrupt 19h away from an option ROM if the primary Initial Program Load (IPL) device
is either a Plug and Play ISA device or a device that is known to the system BIOS (e.g., ATA compatible
IDE fixed disk).
One particularly interesting situation occurs when the system BIOS has recaptured Interrupt 19h and then
determines that it cannot load the operating system due to invalid media or other problems. In this case,
the Plug and Play system BIOS will restore the last captured Interrupt 19h vector and reinitiate the
Interrupt 19h boot sequence.
2.4 Transferring Control to the Operating System
The very last function of the system BIOS POST after loading and validating the operating system boot
sector is to transfer control. In an ISA system, control is transferred without any parameters. In a Plug
and Play system BIOS, parameters will be passed to the operating system. The parameters are:
Entry: ES:DI Pointer to System BIOS Plug and Play Installation Check Structure (See section 4.4)
DL Physical device number the OS is being loaded from (e.g. 80h, assuming the device
supports INT 13H interface.)
In a non-Plug and Play operating environment this information will have no meaning. However, a Plug
and Play operating system will look for a Plug and Play system BIOS and use any information it may
need. The physical device number is passed to allow the operating system to continue to load from the
current physical device, instead of assuming a physical device of 00h or 80h.
2.5 POST Execution flow
The following steps outline a typical flow of a Plug and Play system BIOS POST. All of the standard ISA
functionality has been eliminated for clarity in understanding the Plug and Play POST enhancements.
Step 1 Disable all configurable devices
Any configurable devices known to the system BIOS should be disabled early in the POST
process.
Step 2 Identify all Plug and Play ISA devices
Assign CSNs to Plug and Play ISA devices but keep devices disabled. Also determine which
devices are boot devices.
Step 3 Construct an initial resource map of allocated resources
Construct a resource map of resources that are statically allocated to devices in the system. If the
system software has explicitly specified the system resources assigned to ISA devices in the