Plug and Play BIOS Specification
Plug and Play BIOS Specification 1.0A Page 44
4.7 Extended Configuration Services
This section describes the optional extended services provided by the System BIOS on Plug and Play
platforms.
The extended configuration services are a mechanism whereby the system software may specify the system
resources assigned to devices that have been installed in the system. This information will be maintained
by the BIOS in some form of nonvolatile storage. Depending upon the amount of nonvolatile storage
available to store system configuration information, one can either store detailed configuration
information for all devices or limit the information to a description of the summary resource usage by the
static ISA devices in the system. In both cases, this information is to help the BIOS configure boot
devices during the Power On Self Test (POST) phase. See Section 2.1.4 in the system POST area for a
more complete description of the POST process.
Get & Set Statically Allocated Resources
Functions 9 and Ah allow the OS to effectively reserve resources allocated by legacy cards in a system.
This provides a resource usage map for the BIOS to use to avoid resource conflicts when allocating
resources to other devices. Only summary resource usage information by the legacy ISA cards must be
stored in nonvolatile storage. This information describes the cumulative usage of system resources by all
legacy ISA cards but does not identify the specific resources used by each card. The POST configuration
software will use this information to avoid resource conflicts when configuring boot devices. This
solution can be implemented with minimum NVRAM; however, it does afford less control over the
configuration. The example in section 4.7.1 describes how Plug and Play ISA resource descriptor
information can be stored compactly. The storage structure definition is left completely up to the OEM.
The operating system should call function 9 to determine if the platform Plug and Play interface supports
the ISA resource descriptors or not. If this call returns without an error, it can be assumed that the
platform is storing the ISA resource descriptor information in a proprietary bit map format. If function
calls 9 or 0Ah return the USE_ESCD_SUPPORT error message, then the caller can assume that this
platform supports the ESCD method of data storage.
Read & Write Extended System Configuration Data (ESCD)
The ESCD data storage method allows OEMs to differentiate a platform with additional Plug and Play
features. Since the data format stores information about which devices are using what resources, it is
possible to maintain an image of the Last Working Configuration of all know devices. Additionally,
system software can modify the ESCD at runtime and affect the configuration of devices for the next boot.
This allows bootable devices to be enabled/disabled and other devices to be locked into specific
configurations. The ESCD also provides detailed configuration information about static devices allowing
the POST configuration software to avoid conflicts with these cards. In general, the ESCD allows the
Plug and Play system BIOS to more fully configure the system at power up; this is important for
platforms that must support non-Plug and Play operating systems.
The ESCD format describes every device in the system so storage requirements are much larger. A
typical platform requires 2-4KB of NVRAM. The Plug and Play interface can support a function call
that allows the caller to Get NVRAM size attributes, and it supports two other functions that provide
Read/Write access to the Extended System Configuration Data where it is stored in the NVRAM.
The operating system should call function 9 to determine which data storage format this platform's Plug
and Play interface supports. If the function 9 call returns without an error, it can be assumed that the
platform is storing the ISA resource descriptor information in a proprietary bit map format. If function
calls 9 or 0Ah return the USE_ESCD_SUPPORT error message, then the caller can assume that this
platform supports the ESCD method of data storage.
More detailed and current information about the ESCD definition and format specification can be found
in the ESCD Specification.