Add type cast on variable before operation.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Eric Dong <Eric.Dong@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15778 6f19259b-4bc3-4df7-8a09-765794883524
diff --git a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.c b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.c
index 140816d..82fd44f 100644
--- a/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.c
+++ b/IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBus.c
@@ -3,7 +3,7 @@
   Child device(Disk, CDROM, etc) enumeration and child handler installation, and 

   driver stop.

     

-  Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>

+  Copyright (c) 2006 - 2014, 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

@@ -433,7 +433,7 @@
                     &Supports

                     );

   if (!EFI_ERROR (Status)) {

-    Supports &= EFI_PCI_DEVICE_ENABLE;

+    Supports &= (UINT64)EFI_PCI_DEVICE_ENABLE;

     Status = PciIo->Attributes (

                       PciIo,

                       EfiPciIoAttributeOperationEnable,

@@ -1004,7 +1004,7 @@
                         &Supports

                         );

       if (!EFI_ERROR (Status)) {

-        Supports &= EFI_PCI_IO_ATTRIBUTE_IDE_PRIMARY_IO | EFI_PCI_IO_ATTRIBUTE_IDE_SECONDARY_IO | EFI_PCI_DEVICE_ENABLE;

+        Supports &= (UINT64)(EFI_PCI_IO_ATTRIBUTE_IDE_PRIMARY_IO | EFI_PCI_IO_ATTRIBUTE_IDE_SECONDARY_IO | EFI_PCI_DEVICE_ENABLE);

         PciIo->Attributes (

                 PciIo,

                 EfiPciIoAttributeOperationDisable,

diff --git a/IntelFrameworkModulePkg/Csm/BiosThunk/Snp16Dxe/BiosSnp16.c b/IntelFrameworkModulePkg/Csm/BiosThunk/Snp16Dxe/BiosSnp16.c
index 0525410..7af2ded 100644
--- a/IntelFrameworkModulePkg/Csm/BiosThunk/Snp16Dxe/BiosSnp16.c
+++ b/IntelFrameworkModulePkg/Csm/BiosThunk/Snp16Dxe/BiosSnp16.c
@@ -358,7 +358,7 @@
                     &Supports

                     );

   if (!EFI_ERROR (Status)) {

-    Supports &= EFI_PCI_DEVICE_ENABLE;

+    Supports &= (UINT64)EFI_PCI_DEVICE_ENABLE;

     Status = PciIo->Attributes (

                       PciIo,

                       EfiPciIoAttributeOperationEnable,

@@ -793,7 +793,7 @@
                         &Supports

                         );

       if (!EFI_ERROR (Status)) {

-        Supports &= EFI_PCI_DEVICE_ENABLE;

+        Supports &= (UINT64)EFI_PCI_DEVICE_ENABLE;

         Status = PciIo->Attributes (

                           PciIo,

                           EfiPciIoAttributeOperationDisable,

@@ -876,7 +876,7 @@
                         &Supports

                         );

       if (!EFI_ERROR (Status)) {

-        Supports &= EFI_PCI_DEVICE_ENABLE;

+        Supports &= (UINT64)EFI_PCI_DEVICE_ENABLE;

         Status = PciIo->Attributes (

                           PciIo,

                           EfiPciIoAttributeOperationDisable,

diff --git a/IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/BiosVideo.c b/IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/BiosVideo.c
index 7c718ba..9f7f72a 100644
--- a/IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/BiosVideo.c
+++ b/IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/BiosVideo.c
@@ -1,7 +1,7 @@
 /** @file

   ConsoleOut Routines that speak VGA.

 

-Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>

+Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>

 

 This program and the accompanying materials

 are licensed and made available under the terms and conditions

@@ -315,7 +315,7 @@
     goto Done;

   }

 

-  Supports &= (EFI_PCI_IO_ATTRIBUTE_VGA_IO | EFI_PCI_IO_ATTRIBUTE_VGA_IO_16);

+  Supports &= (UINT64)(EFI_PCI_IO_ATTRIBUTE_VGA_IO | EFI_PCI_IO_ATTRIBUTE_VGA_IO_16);

   if (Supports == 0 || Supports == (EFI_PCI_IO_ATTRIBUTE_VGA_IO | EFI_PCI_IO_ATTRIBUTE_VGA_IO_16)) {

     Status = EFI_UNSUPPORTED;

     goto Done;

diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/IpfBootSupport.c b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/IpfBootSupport.c
index b6787ae..8c8f6d3 100644
--- a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/IpfBootSupport.c
+++ b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/IpfBootSupport.c
@@ -1,6 +1,6 @@
 /** @file

 

-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>

+Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>

 

 This program and the accompanying materials

 are licensed and made available under the terms and conditions

@@ -226,7 +226,7 @@
       // Align buffer on section boundry

       //

       ImageContext.ImageAddress += ImageContext.SectionAlignment - 1;

-      ImageContext.ImageAddress &= ~(ImageContext.SectionAlignment - 1);

+     ImageContext.ImageAddress &= ~((PHYSICAL_ADDRESS)ImageContext.SectionAlignment - 1);

 

       //

       // Load the image to our new buffer

diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/Thunk.c b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/Thunk.c
index ca59b97..e601bbd 100644
--- a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/Thunk.c
+++ b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Ipf/Thunk.c
@@ -4,7 +4,7 @@
   BugBug: Thunker does A20 gate. Can we get rid of this code or

           put it into Legacy16 code.

 

-Copyright (c) 1999 - 2010, Intel Corporation. All rights reserved.<BR>

+Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved.<BR>

 

 This program and the accompanying materials

 are licensed and made available under the terms and conditions

@@ -67,7 +67,7 @@
   UINT64          IntTypeVariable;

 

   IntTypeVariable = 0x8000000000000000;

-  IntTypeVariable |= BiosInt;

+  IntTypeVariable |= (UINT64)BiosInt;

 

   DwordRegs.Cs    = Segment;

   DwordRegs.Eip   = Offset;

diff --git a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyPci.c b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyPci.c
index 661bef5..7299fc0 100644
--- a/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyPci.c
+++ b/IntelFrameworkModulePkg/Csm/LegacyBiosDxe/LegacyPci.c
@@ -1198,7 +1198,7 @@
                       &Supports

                       );

     if (!EFI_ERROR (Status)) {

-      Supports &= EFI_PCI_DEVICE_ENABLE;

+      Supports &= (UINT64)EFI_PCI_DEVICE_ENABLE;

       Status = PciIo->Attributes (

                         PciIo,

                         EfiPciIoAttributeOperationEnable,

@@ -1772,7 +1772,7 @@
                           &Supports

                           );

         if (!EFI_ERROR (Status)) {

-          Supports &= EFI_PCI_DEVICE_ENABLE;

+          Supports &= (UINT64)EFI_PCI_DEVICE_ENABLE;

           Status = PciIo->Attributes (

                             PciIo,

                             EfiPciIoAttributeOperationEnable,

@@ -1895,7 +1895,7 @@
   //

   Status = IsLegacyRom (PciHandle);

   if (!EFI_ERROR (Status)) {

-    *Flags |= (ROM_FOUND | VALID_LEGACY_ROM);

+    *Flags |= (UINTN)(ROM_FOUND | VALID_LEGACY_ROM);

     return EFI_SUCCESS;

   }

   //

@@ -2187,8 +2187,8 @@
                     &Supports

                     );

   if (!EFI_ERROR (Status)) {

-    Supports &= EFI_PCI_DEVICE_ENABLE | EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY | \

-                EFI_PCI_IO_ATTRIBUTE_VGA_IO | EFI_PCI_IO_ATTRIBUTE_VGA_IO_16;

+    Supports &= (UINT64)(EFI_PCI_DEVICE_ENABLE | EFI_PCI_IO_ATTRIBUTE_VGA_MEMORY | \

+                         EFI_PCI_IO_ATTRIBUTE_VGA_IO | EFI_PCI_IO_ATTRIBUTE_VGA_IO_16);

     Status = PciIo->Attributes (

                       PciIo,

                       EfiPciIoAttributeOperationEnable,

diff --git a/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c b/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c
index 8acdad8..3a74d24 100644
--- a/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c
+++ b/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c
@@ -1413,7 +1413,7 @@
       break;

     }

 

-    DevOrderPtr = (LEGACY_DEV_ORDER_ENTRY *) ((UINT8 *) DevOrderPtr + sizeof (BBS_TYPE) + DevOrderPtr->Length);

+    DevOrderPtr = (LEGACY_DEV_ORDER_ENTRY *) ((UINTN) DevOrderPtr + sizeof (BBS_TYPE) + DevOrderPtr->Length);

   }

 

   if ((UINT8 *) DevOrderPtr >= (UINT8 *) DevOrder + DevOrderSize) {

diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootOption.c b/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootOption.c
index 22c2eb3..0d3b489 100644
--- a/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootOption.c
+++ b/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootOption.c
@@ -1761,12 +1761,12 @@
           break;

         }

     

-        WorkingVarData += sizeof (BBS_TYPE);

+        WorkingVarData  = (UINT8 *)((UINTN)WorkingVarData + sizeof (BBS_TYPE));

         WorkingVarData += *(UINT16 *) WorkingVarData;

         DevOrder = (LEGACY_DEV_ORDER_ENTRY *) WorkingVarData;

       } 

       for (OptionIndex = 0; OptionIndex < OptionMenu->MenuNumber; OptionIndex++) {

-        VarDevOrder = *(UINT16 *) ((UINT8 *) DevOrder + sizeof (BBS_TYPE) + sizeof (UINT16) + OptionIndex * sizeof (UINT16));

+        VarDevOrder = *(UINT16 *) ((UINTN) DevOrder + sizeof (BBS_TYPE) + sizeof (UINT16) + OptionIndex * sizeof (UINT16));

          if (0xFF00 == (VarDevOrder & 0xFF00)) {

           LegacyOrder[OptionIndex]  = 0xFF;

           Pos                       = (VarDevOrder & 0xFF) / 8;

diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/UpdatePage.c b/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/UpdatePage.c
index a3b9dd8..20e17dd 100644
--- a/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/UpdatePage.c
+++ b/IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/UpdatePage.c
@@ -1303,7 +1303,7 @@
         break;

       }

 

-      VarData += sizeof (BBS_TYPE);

+      VarData  = (UINT8 *)((UINTN)VarData + sizeof (BBS_TYPE));

       VarData += *(UINT16 *) VarData;

       DevOrder = (LEGACY_DEV_ORDER_ENTRY *) VarData;

     }

@@ -1333,7 +1333,7 @@
         NULL

         );

 

-      VarDevOrder = *(UINT16 *) ((UINT8 *) DevOrder + sizeof (BBS_TYPE) + sizeof (UINT16) + Index * sizeof (UINT16));

+      VarDevOrder = *(UINT16 *) ((UINTN) DevOrder + sizeof (BBS_TYPE) + sizeof (UINT16) + Index * sizeof (UINT16));

 

       if (0xFF00 == (VarDevOrder & 0xFF00)) {

         LegacyOrder[Index]  = 0xFF;

diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c b/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c
index aaada97..1a864bc 100644
--- a/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c
+++ b/IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c
@@ -1085,7 +1085,7 @@
     //

     // Clear EFI_OS_INDICATIONS_BOOT_TO_FW_UI to acknowledge OS

     // 

-    OsIndication &= ~EFI_OS_INDICATIONS_BOOT_TO_FW_UI;

+    OsIndication &= ~((UINT64)EFI_OS_INDICATIONS_BOOT_TO_FW_UI);

     Status = gRT->SetVariable (

                     L"OsIndications",

                     &gEfiGlobalVariableGuid,