Currently the standalonemmlibinternal assumes the max physical bits
to be 36 which is causing issues on v8 architectures.
Instead use the MAX_ADDRESS macro to determine the maximum allowed address
rather than recomputing it locally.

Signed-off-by: Girish Mahadevan <gmahade...@nvidia.com>
---
 .../ArmStandaloneMmMemLibInternal.c               | 15 +--------------
 1 file changed, 1 insertion(+), 14 deletions(-)

diff --git 
a/StandaloneMmPkg/Library/StandaloneMmMemLib/ArmStandaloneMmMemLibInternal.c 
b/StandaloneMmPkg/Library/StandaloneMmMemLib/ArmStandaloneMmMemLibInternal.c
index 297cfae916..4dc392b4e3 100644
--- a/StandaloneMmPkg/Library/StandaloneMmMemLib/ArmStandaloneMmMemLibInternal.c
+++ b/StandaloneMmPkg/Library/StandaloneMmMemLib/ArmStandaloneMmMemLibInternal.c
@@ -20,13 +20,6 @@
 //
 extern EFI_PHYSICAL_ADDRESS  mMmMemLibInternalMaximumSupportAddress;
 
-#ifdef MDE_CPU_AARCH64
-#define ARM_PHYSICAL_ADDRESS_BITS  36
-#endif
-#ifdef MDE_CPU_ARM
-#define ARM_PHYSICAL_ADDRESS_BITS  32
-#endif
-
 /**
   Calculate and save the maximum support address.
 
@@ -36,14 +29,8 @@ MmMemLibInternalCalculateMaximumSupportAddress (
   VOID
   )
 {
-  UINT8  PhysicalAddressBits;
-
-  PhysicalAddressBits = ARM_PHYSICAL_ADDRESS_BITS;
+  mMmMemLibInternalMaximumSupportAddress = MAX_ADDRESS;
 
-  //
-  // Save the maximum support address in one global variable
-  //
-  mMmMemLibInternalMaximumSupportAddress = 
(EFI_PHYSICAL_ADDRESS)(UINTN)(LShiftU64 (1, PhysicalAddressBits) - 1);
   DEBUG ((DEBUG_INFO, "mMmMemLibInternalMaximumSupportAddress = 0x%lx\n", 
mMmMemLibInternalMaximumSupportAddress));
 }
 
-- 
2.17.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#99206): https://edk2.groups.io/g/devel/message/99206
Mute This Topic: https://groups.io/mt/96579174/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to