From aa1cd447b346e8cc8141df2fe2d321b032c08acb Mon Sep 17 00:00:00 2001 From: "Liu, Zhiguang" Date: Tue, 7 Mar 2023 14:31:36 +0800 Subject: UefiCpuPkg: Calculate DisplayFamily correctly REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4348 Per SDM: DisplayFamily = Extended_Family_ID + Family_ID. DisplayModelID = (Extended_Model_ID << 4) + Family_ID. Correct the related code. Cc: Eric Dong Reviewed-by: Ray Ni Cc: Rahul Kumar Acked-by: Gerd Hoffmann Reviewed-by: Star Zeng Cc: Mike Maslenkin Signed-off-by: Zhiguang Liu --- UefiCpuPkg/Application/Cpuid/Cpuid.c | 6 +++--- UefiCpuPkg/Library/RegisterCpuFeaturesLib/CpuFeaturesInitialize.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/UefiCpuPkg/Application/Cpuid/Cpuid.c b/UefiCpuPkg/Application/Cpuid/Cpuid.c index 372c6ef..172476a 100644 --- a/UefiCpuPkg/Application/Cpuid/Cpuid.c +++ b/UefiCpuPkg/Application/Cpuid/Cpuid.c @@ -1,7 +1,7 @@ /** @file UEFI Application to display CPUID leaf information. - Copyright (c) 2016 - 2019, Intel Corporation. All rights reserved.
+ Copyright (c) 2016 - 2023, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -217,12 +217,12 @@ CpuidVersionInfo ( DisplayFamily = Eax.Bits.FamilyId; if (Eax.Bits.FamilyId == 0x0F) { - DisplayFamily |= (Eax.Bits.ExtendedFamilyId << 4); + DisplayFamily += Eax.Bits.ExtendedFamilyId; } DisplayModel = Eax.Bits.Model; if ((Eax.Bits.FamilyId == 0x06) || (Eax.Bits.FamilyId == 0x0f)) { - DisplayModel |= (Eax.Bits.ExtendedModelId << 4); + DisplayModel += (Eax.Bits.ExtendedModelId << 4); } Print (L" Family = %x Model = %x Stepping = %x\n", DisplayFamily, DisplayModel, Eax.Bits.SteppingId); diff --git a/UefiCpuPkg/Library/RegisterCpuFeaturesLib/CpuFeaturesInitialize.c b/UefiCpuPkg/Library/RegisterCpuFeaturesLib/CpuFeaturesInitialize.c index a8e4f92..552fdab 100644 --- a/UefiCpuPkg/Library/RegisterCpuFeaturesLib/CpuFeaturesInitialize.c +++ b/UefiCpuPkg/Library/RegisterCpuFeaturesLib/CpuFeaturesInitialize.c @@ -1,7 +1,7 @@ /** @file CPU Features Initialize functions. - Copyright (c) 2017 - 2021, Intel Corporation. All rights reserved.
+ Copyright (c) 2017 - 2023, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ @@ -67,12 +67,12 @@ FillProcessorInfo ( DisplayedFamily = Eax.Bits.FamilyId; if (Eax.Bits.FamilyId == 0x0F) { - DisplayedFamily |= (Eax.Bits.ExtendedFamilyId << 4); + DisplayedFamily += Eax.Bits.ExtendedFamilyId; } DisplayedModel = Eax.Bits.Model; if ((Eax.Bits.FamilyId == 0x06) || (Eax.Bits.FamilyId == 0x0f)) { - DisplayedModel |= (Eax.Bits.ExtendedModelId << 4); + DisplayedModel += (Eax.Bits.ExtendedModelId << 4); } CpuInfo->DisplayFamily = DisplayedFamily; -- cgit v1.1