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 <jiaxin.wu@intel.com>
This commit is contained in:
Jiaxin Wu 2024-09-06 11:41:20 +08:00 committed by mergify[bot]
parent 253b3d678a
commit c047353a12

View File

@ -889,15 +889,13 @@ CheckFeatureSupported (
} }
if (mSmmCodeAccessCheckEnable) { if (mSmmCodeAccessCheckEnable) {
if (!SmmCpuFeaturesIsSmmRegisterSupported (CpuIndex, SmmRegFeatureControl)) {
mSmmCodeAccessCheckEnable = FALSE;
}
// //
// Check to see if the CPU supports the SMM Code Access Check feature // Check to see if the CPU supports the SMM Code Access Check feature
// Do not access this MSR unless the CPU supports the SmmRegFeatureControl // 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; mSmmCodeAccessCheckEnable = FALSE;
} }
} }