Plug and Play BIOS Specification
Plug and Play BIOS Specification 1.0A Page 50
data segment descriptor with a limit of 64K and read/write access. This will enable the Plug and Play
system BIOS to read and write the memory mapped nonvolatile storage in a protected mode environment.
If the nonvolatile storage is not memory mapped the value returned in NVStorageBase should be 0. It is
assumed that the size of the nonvolatile storage that contains the ESCD will not exceed 32K bytes.
Refer to the ESCD Specification for a complete description of the interfaces to support the ESCD as well
as the format of the ESCD.
4.7.5 Function 42h - Read Extended System Configuration Data (ESCD)
Synopsis:
int FAR (*entryPoint)(Function, ESCDBuffer, ESCDSelector, BiosSelector)
int Function; /* PnP BIOS Function 042h */
char FAR *ESCDBuffer; /* Addr of caller's buffer for storing ESCD */
unsigned int ESCDSelector; /* ESCD readable/writable selector */
unsigned int BiosSelector; /* PnP BIOS readable/writable selector */
Description:
Optional. This function is used to read the ESCD data from nonvolatile storage on the system into the
buffer specified by ESCDBuffer. The entire ESCD will be placed into the buffer. It is the responsibility of
the caller to ensure that the buffer is large enough to store the entire ESCD. The caller should use the
output from Function 41 (the ESCDSize field) when calculating the size of the ESCDBuffer. The system
BIOS will return the entire ESCD, including information about system board devices. The system board
device configuration information will be contained in the slot 0 portion of the ESCD. The caller can
determine the size of the data in the ESCD from the ESCD Configuration Header Structure. In protected
mode, the ESCDSelector has base = NVStorageBase and limit of at least NVStorageSize. In real mode, the
ESCDSelector is a segment that points to NVStorageBase.
Refer to the ESCD Specification for a complete description of the interfaces to support the ESCD as well
as the format of the ESCD.
4.7.6 Function 43h - Write Extended System Configuration Data (ESCD)
Synopsis:
int FAR (*entryPoint)(Function, ESCDBuffer, ESCDSelector, BiosSelector);
int Function; /* PnP BIOS Function 043h */
char FAR *ESCDBuffer; /* Buffer containing complete ESCD to write... */
/* ...to nonvolatile storage */
unsigned int ESCDSelector; /* ESCD readable/writable selector */
unsigned int BiosSelector; /* PnP BIOS readable/writable selector */
Description:
Optional. This function will write the Extended Static Configuration Data (ESCD) contained in the
ESCDBuffer to nonvolatile storage on the system. The data contained in the caller's buffer must contain a
complete block of ESCD structures describing the configuration information for devices on the system.
The caller should use the output from Function 41 (the MinESCDWriteSize field) when calculating the
size of the ESCDBuffer. The system BIOS can determine the size of the data in the ESCD structure from
the ESCD Configuration Header Structure within the caller's ESCD buffer.
Refer to the ESCD Specification for a complete description of the interfaces to support the ESCD as well
as the format of the ESCD.