Intel 253668-032US ユーザーズマニュアル

ページ / 806
9-42   Vol. 3
PROCESSOR MANAGEMENT AND INITIALIZATION
a processor signature embedded in the microcode update with the processor signa-
ture returned by CPUID will cause the BIOS to reject the update.
Example 9-5 shows how to check for a valid processor signature match between the 
processor and microcode update.
Example 9-5.  Pseudo Code to Validate the Processor Signature
ProcessorSignature 
← CPUID(1):EAX
If (Update.HeaderVersion == 00000001h)
{
// first check the ProcessorSignature field
If (ProcessorSignature == Update.ProcessorSignature)
Success
// if extended signature is present
Else If (Update.TotalSize > (Update.DataSize + 48))
{
//
// Assume the Data Size has been used to calculate the 
// location of Update.ProcessorSignature[0].
//
For (N 
← 0; ((N < Update.ExtendedSignatureCount) AND 
 
(ProcessorSignature != Update.ProcessorSignature[N])); N++);
// if the loops ended when the iteration count is
// less than the number of processor signatures in
// the table, we have a match
If (N < Update.ExtendedSignatureCount)
Success
Else
Fail
}
Else
Fail
Else
Fail 
9.11.4 Platform 
Identification
In addition to verifying the processor signature, the intended processor platform type 
must be determined to properly target the microcode update. The intended 
processor platform type is determined by reading the IA32_PLATFORM_ID register, 
(MSR 17H).  This 64-bit register must be read using the RDMSR instruction.