Plug and Play BIOS Specification

Plug and Play BIOS Specification 1.0A Page 10
2.1.3 Isolating Committed Resources
The first step to resource management is to determine system resources that are statically allocated to
devices in the system. These resources can be located on ISA cards, systemboard devices, or any other
device present in the system. Unfortunately, it is very difficult, if not impossible, to accurately determine
the resources used, unless these devices provide information about the system resources they will use.
With this in mind, it is necessary for an external program to help isolate the resources that these devices
are using. How this external program determines the resources consumed by these devices is beyond the
scope of this document. However, what is within the scope is the interface that the system BIOS provides
to indicate resources that are allocated to the ISA devices.
Function 09h, Set Statically Allocated Resource Information, of the runtime services is designed to
support an external program that can indicate the resources that are allocated to the static ISA devices in
the system. Through this interface, the system resources utilized by these ISA devices will be saved in
nonvolatile storage. This will allow the system BIOS to ensure the configuration of the boot devices in the
system do not conflict with any static ISA devices during the POST configuration process.
2.1.4 System BIOS Resource Allocation
There are three fundamental methods that the system BIOS POST can use to allocate resources to devices.
They are:
Static Resource Allocation - Allocate resources based on the last working configuration of the system.
This requires that the resources assigned to specific devices in the system be saved in nonvolatile storage
on the system. This configuration information must be accessible to the system BIOS during POST. The
interface and format for storing the resource information explicitly assigned to every device in the system
may be stored in an OEM specific format or it may follow the Extended System Configuration Data
(ESCD) format. Refer to the ESCD Specification for a complete description of the ESCD and its
interfaces. The ESCD interface provides a mechanism for allowing system software the ability to lock the
system resources allocated to specific devices in the system. This will allow the configuration of devices
to remain consistent between operating sessions.
Dynamic Resource Allocation - Dynamically auto-configure the systemboard and Plug and Play devices in
the system. At a minimum, the system BIOS must ensure that only the primary boot devices are properly
configured to boot the system software. When loaded, the system software is responsible for dynamically
configuring all remaining devices. Depending on the system's architecture, the BIOS may have to
implement Function 09h, Set Statically Allocated Resource Information, to guarantee a conflict free boot
device configuration.
Combined Static and Dynamic Resource Allocation - Allocating resources based on the configuration
information specified for the last working configuration for the system, as well as dynamically configuring
the Plug and Play devices in the system, which were not specified in the last working configuration
resource information.
A system BIOS can use any one of these methods for allocating system resources to the devices in the
system. What is important for each of these methods to work successfully is an accurate accounting of the
committed resources used in the system. It is important to note that the primary responsibility for system
BIOS resource allocation is to ensure that the primary boot devices are configured properly to boot the
Plug and Play operating system. If the Plug and Play system BIOS chooses to only configure the primary
boot devices, the appropriate system software or Plug and Play operating system will be responsible for
configuring any unconfigured devices.
Static Resource Allocation
This method assumes that the system software has specified the appropriate resource configuration
information to the system BIOS for ALL devices in the system. As mentioned above, it is an option that
the system BIOS interface, for allowing system software to provide the last working configuration
information to the system BIOS, follows the Extended System Configuration Data (ESCD) format.
Once this information has been saved by the system BIOS, this information is used by the BIOS during
POST to allocate resources to all of the configurable devices that are known to the system BIOS.