Intel 253668-032US User Manual

Page of 806
9-52   Vol. 3
PROCESSOR MANAGEMENT AND INITIALIZATION
}
}
NOTES
The platform Id bits in IA32_PLATFORM_ID are encoded as a three-
bit binary coded decimal field. The platform bits in the microcode 
update header are individually bit encoded. The algorithm must do a 
translation from one format to the other prior to doing a check.
 
When performing the INT 15H, 0D042H functions, the BIOS must assume that the 
caller has no knowledge of platform specific requirements. It is the responsibility of 
BIOS calls to manage all chipset and platform specific prerequisites for managing the 
NVRAM device. When writing the update data using the Write Update sub-function, 
the BIOS must maintain implementation specific data requirements (such as the 
update of NVRAM checksum). The BIOS should also attempt to verify the success of 
write operations on the storage device used to record the update.
9.11.8.2   Responsibilities of the Calling Program
This section of the document lists the responsibilities of a calling program using the 
interface specifications to load microcode update(s) into BIOS NVRAM.
The calling program should call the INT 15H, 0D042H functions from a pure real 
mode program and should be executing on a system that is running in pure real 
mode. 
The caller should issue the presence test function (sub function 0) and verify the 
signature and return codes of that function. 
It is important that the calling program provides the required scratch RAM buffers 
for the BIOS and the proper stack size as specified in the interface definition.
The calling program should read any update data that already exists in the BIOS 
in order to make decisions about the appropriateness of loading the update. The 
BIOS must refuse to overwrite a newer update with an older version. The update 
header contains information about version and processor specifics for the calling 
program to make an intelligent decision about loading.
There can be no ambiguous updates. The BIOS must refuse to allow multiple 
updates for the same CPU to exist at the same time; it also must refuse to load 
updates for processors that don’t exist on the system.
The calling application should implement a verify function that is run after the 
update write function successfully completes. This function reads back the 
update and verifies that the BIOS returned an image identical to the one that was 
written. 
Example 9-12 represents a calling program.