VS20xx generates a warning if a typecast to a smaller size strips upper bits that are set to 1. The fix is to mask off the upper bits before the typecast.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney <[email protected]> --- OvmfPkg/SmmAccess/SmmAccessPei.c | 2 +- OvmfPkg/SmmAccess/SmramInternal.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/OvmfPkg/SmmAccess/SmmAccessPei.c b/OvmfPkg/SmmAccess/SmmAccessPei.c index d340894..d5b3f5b 100644 --- a/OvmfPkg/SmmAccess/SmmAccessPei.c +++ b/OvmfPkg/SmmAccess/SmmAccessPei.c @@ -389,7 +389,7 @@ SmmAccessPeiEntryPoint ( // (Global SMRAM Enable) too, as both D_LCK and T_EN depend on it. // PciAndThenOr8 (DRAMC_REGISTER_Q35 (MCH_SMRAM), - (UINT8)~(UINT32)MCH_SMRAM_D_LCK, MCH_SMRAM_G_SMRAME); + (UINT8)((~MCH_SMRAM_D_LCK) & 0xff), MCH_SMRAM_G_SMRAME); // // Create the GUID HOB and point it to the first SMRAM range. diff --git a/OvmfPkg/SmmAccess/SmramInternal.c b/OvmfPkg/SmmAccess/SmramInternal.c index 372ca2d..64601e5 100644 --- a/OvmfPkg/SmmAccess/SmramInternal.c +++ b/OvmfPkg/SmmAccess/SmramInternal.c @@ -70,7 +70,7 @@ SmramAccessOpen ( // // Open TSEG by clearing T_EN. // - PciAnd8 (DRAMC_REGISTER_Q35 (MCH_ESMRAMC), (UINT8)~(UINT32)MCH_ESMRAMC_T_EN); + PciAnd8 (DRAMC_REGISTER_Q35 (MCH_ESMRAMC), (UINT8)((~MCH_ESMRAMC_T_EN) & 0xff)); GetStates (LockState, OpenState); if (!*OpenState) { -- 1.9.5.msysgit.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

