9 return codes – Intel IA-32 User Manual

Page 437

Advertising
background image

Vol. 3A 9-63

PROCESSOR MANAGEMENT AND INITIALIZATION

Description

The read function enables the caller to read any microcode update data that already exists in a
BIOS and make decisions about the addition of new updates. As a result of a successful call,
the BIOS copies the microcode update into the location pointed to by ES:DI, with the contents
of all Update block(s) that are used to store the specified microcode update.

If the specified block is not a header block, but does contain valid data from a microcode update
that spans multiple update blocks, then the BIOS must return Failure with the NOT_EMPTY
error code in AH.

An update block is considered unused and available for storing a new update if its Header
Version contains the value 0FFFFFFFFH after return from this function call. The actual imple-
mentation of NVRAM storage management is not specified here and is BIOS dependent. As an
example, the actual data value used to represent an empty block by the BIOS may be zero, rather
than 0FFFFFFFFH. The BIOS is responsible for translating this information into the header
provided by this function.

9.11.8.9

Return Codes

After the call has been made, the return codes listed in Table 9-18 are available in the AH
register.

Table 9-18. Return Code Definitions

Return Code

Value

Description

SUCCESS

00H

The function completed successfully.

NOT_IMPLEMENTED

86H

The function is not implemented.

ERASE_FAILURE

90H

A failure because of the inability to erase the storage
device.

WRITE_FAILURE

91H

A failure because of the inability to write the storage
device.

READ_FAILURE

92H

A failure because of the inability to read the storage device.

STORAGE_FULL

93H

The BIOS non-volatile storage area is unable to
accommodate the update because all available update
blocks are filled with updates that are needed for
processors in the system.

CPU_NOT_PRESENT

94H

The processor stepping does not currently exist in the
system.

INVALID_HEADER

95H

The update header contains a header or loader version
that is not recognized by the BIOS.

INVALID_HEADER_CS

96H

The update does not checksum correctly.

SECURITY_FAILURE

97H

The update was rejected by the processor.

INVALID_REVISION

98H

The same or more recent revision of the update exists in
the storage device.

Advertising