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

Reply via email to