From c047353a1244121f7d5b1780dbef2e2b30f762e1 Mon Sep 17 00:00:00 2001 From: Jiaxin Wu Date: Fri, 6 Sep 2024 11:41:20 +0800 Subject: UefiCpuPkg/PiSmmCpuDxeSmm: Avoid to access MCA_CAP if CPU does not support Do not access MCA_CAP MSR unless the CPU supports the SmmRegFeatureControl Signed-off-by: Jiaxin Wu --- UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'UefiCpuPkg') diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c b/UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c index c152dccea4..ee64d6b6d0 100644 --- a/UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c +++ b/UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c @@ -889,15 +889,13 @@ CheckFeatureSupported ( } if (mSmmCodeAccessCheckEnable) { - if (!SmmCpuFeaturesIsSmmRegisterSupported (CpuIndex, SmmRegFeatureControl)) { - mSmmCodeAccessCheckEnable = FALSE; - } - // // Check to see if the CPU supports the SMM Code Access Check feature // Do not access this MSR unless the CPU supports the SmmRegFeatureControl // - if ((AsmReadMsr64 (EFI_MSR_SMM_MCA_CAP) & SMM_CODE_ACCESS_CHK_BIT) == 0) { + if (!SmmCpuFeaturesIsSmmRegisterSupported (CpuIndex, SmmRegFeatureControl) || + ((AsmReadMsr64 (EFI_MSR_SMM_MCA_CAP) & SMM_CODE_ACCESS_CHK_BIT) == 0)) + { mSmmCodeAccessCheckEnable = FALSE; } } -- cgit