From: Hao Wu Date: Thu, 25 Jan 2018 02:10:46 +0000 (+0800) Subject: IntelSiliconPkg/MicrocodeUpdateDxe: Refine debug messages X-Git-Tag: edk2-stable201903~2488 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=2ad34f65af46b825b4fbf0d492e22df89207516c;hp=693877f8e593e51f38e67108c4db98e56f68e8d8 IntelSiliconPkg/MicrocodeUpdateDxe: Refine debug messages Refine the debug messages during the verification of microcode to make them more clear. Cc: Jiewen Yao Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Hao Wu Reviewed-by: Star Zeng --- diff --git a/IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdate.c b/IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdate.c index 65729e30a0..2cb0adbc44 100644 --- a/IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdate.c +++ b/IntelSiliconPkg/Feature/Capsule/MicrocodeUpdateDxe/MicrocodeUpdate.c @@ -445,7 +445,7 @@ VerifyMicrocode ( return EFI_VOLUME_CORRUPTED; } if (TotalSize != ImageSize) { - DEBUG((DEBUG_ERROR, "VerifyMicrocode - fail on TotalSize\n")); + DEBUG((DEBUG_ERROR, "VerifyMicrocode - TotalSize not equal to ImageSize\n")); *LastAttemptStatus = LAST_ATTEMPT_STATUS_ERROR_INVALID_FORMAT; if (AbortReason != NULL) { *AbortReason = AllocateCopyPool(sizeof(L"InvalidTotalSize"), L"InvalidTotalSize"); @@ -507,16 +507,25 @@ VerifyMicrocode ( // if ((ExtendedTableLength > sizeof(CPU_MICROCODE_EXTENDED_TABLE_HEADER)) && ((ExtendedTableLength & 0x3) == 0)) { CheckSum32 = CalculateSum32((UINT32 *)ExtendedTableHeader, ExtendedTableLength); - if (CheckSum32 == 0) { + if (CheckSum32 != 0) { + // + // Checksum incorrect + // + DEBUG((DEBUG_ERROR, "VerifyMicrocode - The checksum for extended table is incorrect\n")); + } else { // // Checksum correct // ExtendedTableCount = ExtendedTableHeader->ExtendedSignatureCount; - if (ExtendedTableCount <= (ExtendedTableLength - sizeof(CPU_MICROCODE_EXTENDED_TABLE_HEADER)) / sizeof(CPU_MICROCODE_EXTENDED_TABLE)) { + if (ExtendedTableCount > (ExtendedTableLength - sizeof(CPU_MICROCODE_EXTENDED_TABLE_HEADER)) / sizeof(CPU_MICROCODE_EXTENDED_TABLE)) { + DEBUG((DEBUG_ERROR, "VerifyMicrocode - ExtendedTableCount too big\n")); + } else { ExtendedTable = (CPU_MICROCODE_EXTENDED_TABLE *)(ExtendedTableHeader + 1); for (Index = 0; Index < ExtendedTableCount; Index++) { CheckSum32 = CalculateSum32((UINT32 *)ExtendedTable, sizeof(CPU_MICROCODE_EXTENDED_TABLE)); - if (CheckSum32 == 0) { + if (CheckSum32 != 0) { + DEBUG((DEBUG_ERROR, "VerifyMicrocode - The checksum for ExtendedTable entry with index 0x%x is incorrect\n", Index)); + } else { // // Verify Header // @@ -537,7 +546,7 @@ VerifyMicrocode ( } if (!CorrectMicrocode) { if (TryLoad) { - DEBUG((DEBUG_ERROR, "VerifyMicrocode - fail on CurrentProcessorSignature/ProcessorFlags\n")); + DEBUG((DEBUG_ERROR, "VerifyMicrocode - fail on Current ProcessorSignature/ProcessorFlags\n")); } *LastAttemptStatus = LAST_ATTEMPT_STATUS_ERROR_INCORRECT_VERSION; if (AbortReason != NULL) {