8 function 03h-read microcode update data – Intel IA-32 User Manual
Page 436
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 also
be implemented using CMOS RAM bits where READ failure errors cannot occur.
9.11.8.8
Function 03H—Read Microcode Update Data
This 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.