diff --git a/IntelFspPkg/Library/BaseCacheLib/CacheLib.c b/IntelFspPkg/Library/BaseCacheLib/CacheLib.c index 5c77962393..40d404dd69 100644 --- a/IntelFspPkg/Library/BaseCacheLib/CacheLib.c +++ b/IntelFspPkg/Library/BaseCacheLib/CacheLib.c @@ -381,7 +381,7 @@ ProgramFixedMtrr ( *Len -= mFixedMtrrTable[MsrNum].Length; *Base += mFixedMtrrTable[MsrNum].Length; } - TempQword = AsmReadMsr64 (mFixedMtrrTable[MsrNum].Msr) & (~ClearMask | OrMask); + TempQword = (AsmReadMsr64 (mFixedMtrrTable[MsrNum].Msr) & (~ClearMask)) | OrMask; AsmWriteMsr64 (mFixedMtrrTable[MsrNum].Msr, TempQword); return EFI_SUCCESS;