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] -=-=-=-=-=-=-=-=-=-=-=-