mirror of https://github.com/acidanthera/audk.git
UefiCpuPkg/CommonFeature: Skip locking when the feature is disabled
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1305 Today's code unconditionally sets the IA32_FEATURE_CONTROL.Lock to 1 no matter the feature is enabled or not. The patch fixes this issue by only setting the Lock bit to 1 when the feature is enabled. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com> Cc: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
parent
328409ce8d
commit
1ed6498c4a
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
Features in MSR_IA32_FEATURE_CONTROL register.
|
||||
|
||||
Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2017 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -184,6 +184,15 @@ LockFeatureControlRegisterInitialize (
|
|||
{
|
||||
MSR_IA32_FEATURE_CONTROL_REGISTER *MsrRegister;
|
||||
|
||||
//
|
||||
// When Lock Feature Control Register feature is disabled,
|
||||
// just skip the MSR lock bit setting.
|
||||
// The MSR lock bit is cleared by default and write-once in a boot.
|
||||
//
|
||||
if (!State) {
|
||||
return RETURN_SUCCESS;
|
||||
}
|
||||
|
||||
//
|
||||
// The scope of Lock bit in the MSR_IA32_FEATURE_CONTROL is core for
|
||||
// below processor type, only program MSR_IA32_FEATURE_CONTROL for thread 0 in each
|
||||
|
|
Loading…
Reference in New Issue