ArmPkg/ArmMmuLib: Explicitly cast UINT32 data conversions

REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2835

There's several occurrences of a UINT64 or an EFI_PHYSICAL_ADDRESS
being assigned to a UINT32 value in ArmMmuLib. These result in
warning C4244 in VS2019:

warning C4244: '=': conversion from 'UINT64' to 'UINT32', possible
loss of data

warning C4244: '=': conversion from 'EFI_PHYSICAL_ADDRESS' to
'UINT32', possible loss of data

This change explicitly casts the values to UINT32.

These can be reproduced with the following build command:
build -b DEBUG -a ARM -t VS2019 -p ArmPkg/ArmPkg.dsc
-m ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
diff --git a/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c b/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c
index 15e836e..b4fffed 100644
--- a/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c
+++ b/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c
@@ -225,7 +225,7 @@
     return;

   }

 

-  PhysicalBase = MemoryRegion->PhysicalBase;

+  PhysicalBase = (UINT32)MemoryRegion->PhysicalBase;

   RemainLength = MIN(MemoryRegion->Length, SIZE_4GB - PhysicalBase);

 

   switch (MemoryRegion->Attributes) {

@@ -291,7 +291,7 @@
       PhysicalBase += TT_DESCRIPTOR_SECTION_SIZE;

       RemainLength -= TT_DESCRIPTOR_SECTION_SIZE;

     } else {

-      PageMapLength = MIN (RemainLength, TT_DESCRIPTOR_SECTION_SIZE -

+      PageMapLength = MIN ((UINT32)RemainLength, TT_DESCRIPTOR_SECTION_SIZE -

                                          (PhysicalBase % TT_DESCRIPTOR_SECTION_SIZE));

 

       // Case: Physical address aligned on the Section Size (1MB) && the length

diff --git a/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibUpdate.c b/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibUpdate.c
index 1ec734d..6f18604 100644
--- a/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibUpdate.c
+++ b/ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibUpdate.c
@@ -152,7 +152,7 @@
   FirstLevelTable = (ARM_FIRST_LEVEL_DESCRIPTOR *)ArmGetTTBR0BaseAddress ();

 

   // Calculate number of 4KB page table entries to change

-  NumPageEntries = Length / TT_DESCRIPTOR_PAGE_SIZE;

+  NumPageEntries = (UINT32)(Length / TT_DESCRIPTOR_PAGE_SIZE);

 

   // Iterate for the number of 4KB pages to change

   Offset = 0;

@@ -288,7 +288,7 @@
   ASSERT (FirstLevelIdx < TRANSLATION_TABLE_SECTION_COUNT);

 

   // calculate number of 1MB first level entries this applies to

-  NumSections = Length / TT_DESCRIPTOR_SECTION_SIZE;

+  NumSections = (UINT32)(Length / TT_DESCRIPTOR_SECTION_SIZE);

 

   // iterate through each descriptor

   for(i=0; i<NumSections; i++) {