9-62 Vol. 3A
PROCESSOR MANAGEMENT AND INITIALIZATION
The READ_FAILURE error code returned by this function has meaning only if the control func-tion is implemented in the BIOS NVRAM. The state of this feature (enabled/disabled) can alsobe implemented using CMOS RAM bits where READ failure errors cannot occur.9.11.8.8 Function 03H—Read Microcode Update DataThis function reads a currently installed microcode update from the BIOS storage into a caller-provided RAM buffer. Table 9-17 lists the parameters and return codes for the function.

Table 9-17. Parameters for the Read Microcode Update Data Function

Input
AX Function Code 0D042H
BL Sub-function 03H - Read Update
ES:DI Buffer Address Real Mode pointer to the Intel Update structure that will be
written with the binary data
ECX Scratch Pad1 Real Mode Segment address of 64 KBytes of RAM Block
(lower 16 bits)
ECX Scratch Pad2 Real Mode Segment address of 64 KBytes of RAM Block
(upper 16 bits)
DX Scratch Pad3 Real Mode Segment address of 64 KBytes of RAM Block
SS:SP Stack pointer 32 KBytes of Stack Minimum
SI Update Number This is the index number of the update block to be read. This
value is zero based and must be less than the update count
returned from the presence test function.
Output
CF Carry Flag Carry Set - Failure - AH contains Status
Carry Clear - All
return values
are valid.
AH Return Code Status of the Call
AL OEM Error Additional OEM Information
Return Codes (see Table 9-18 for code definitions)
SUCCESS The function completed successfully.
READ_FAILURE There was a failure because of the inability to read the storage
device.
UPDATE_NUM_INVALID Update number exceeds the maximum number of update
blocks implemented by the BIOS.
NOT_EMPTY The specified update block is a subsequent block in use to
store a valid microcode update that spans multiple blocks.
The specified block is not a header block and is not empty.