Specifications

AMD Geode™ GeodeROM Functional Specification 79
PCI Support
32087C
7.1.5 Reading and Writing Configuration Space
The PCI BIOS provides applications and drivers for six subfunctions for reading and writing configuration space registers:
Subfunction 08h: Read Config BYTE
Subfunction 09h: Read Config WORD
Subfunction 0Ah: Read Config DWORD
Subfunction 0Bh: Write Config BYTE
Subfunction 0Ch: Write Config WORD
Subfunction 0Dh: Write Config DWORD
When reading or writing a DWORD-sized value in configuration space, the register number specified in the function
WRITE_CONFIG_DWORD or READ_CONFIG_DWORD must be on a DWORD boundary, such as 00h, 04h, 08h, etc.
Similarly, when reading or writing a WORD-sized value in configuration space, the register number specified in the function
WRITE_CONFIG_WORD or READ_CONFIG_WORD must be on a WORD boundary, such as 00h, 02h, 04h, etc. The
remaining functions, READ_CONFIG_BYTE and WRITE_CONFIG_BYTE operate correctly on any register boundary
within configuration space.
If the calling program attempts an illegal I/O operation, such as a DWORD read of configuration space location 02h, the PCI
BIOS returns the value 87h (BAD_REGISTER_NUMBER) in the AH register and sets the carry flag.
7.1.5.1 Subfunction 08h - Read Config BYTE
Description
Reads one BYTE from the configuration space of the caller-specified PCI device.
Passed:
Returns:
Parameter Description
AH B1h (PCI Function ID)
AL 08h (Read Config BYTE)
BH Bus number on which the device resides
BL Bits [7:3] = Device number
Bits [2:0] = Device function number
DI Register index (0-FFh) within the device’s or function’s configuration space
Parameter Description
CL Byte read from configuration space
CF Function completion status:
0 if function completed successfully
1 if an error occurred
AH Function return status codes: See AH in Section 7.1.2 "Subfunction 02h - Find PCI Device" on page
76.