* [PATCH v1 1/1] StandaloneMmPkg: StandaloneMmMemLib: Change max address computation
@ 2023-01-28 0:26 Girish Mahadevan
2023-01-30 11:27 ` Ard Biesheuvel
0 siblings, 1 reply; 3+ messages in thread
From: Girish Mahadevan @ 2023-01-28 0:26 UTC (permalink / raw)
To: devel, sami.mujawar, ardb+tianocore, jiewen.yao,
supreeth.venkatesh
Cc: jbrasen, ashishsingha, nramirez, Girish Mahadevan
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 <gmahadevan@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
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v1 1/1] StandaloneMmPkg: StandaloneMmMemLib: Change max address computation
2023-01-28 0:26 [PATCH v1 1/1] StandaloneMmPkg: StandaloneMmMemLib: Change max address computation Girish Mahadevan
@ 2023-01-30 11:27 ` Ard Biesheuvel
2023-01-30 16:22 ` Girish Mahadevan
0 siblings, 1 reply; 3+ messages in thread
From: Ard Biesheuvel @ 2023-01-30 11:27 UTC (permalink / raw)
To: Girish Mahadevan, Milosek, Damian
Cc: devel, sami.mujawar, ardb+tianocore, jiewen.yao,
supreeth.venkatesh, jbrasen, ashishsingha, nramirez
(cc Damian)
On Sat, 28 Jan 2023 at 01:27, Girish Mahadevan <gmahadevan@nvidia.com> wrote:
>
> 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 <gmahadevan@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;
This should be MAX_ALLOC_ADDRESS not 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
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v1 1/1] StandaloneMmPkg: StandaloneMmMemLib: Change max address computation
2023-01-30 11:27 ` Ard Biesheuvel
@ 2023-01-30 16:22 ` Girish Mahadevan
0 siblings, 0 replies; 3+ messages in thread
From: Girish Mahadevan @ 2023-01-30 16:22 UTC (permalink / raw)
To: Ard Biesheuvel, Milosek, Damian
Cc: devel, sami.mujawar, ardb+tianocore, jiewen.yao,
supreeth.venkatesh, jbrasen, ashishsingha, nramirez
Hi
On 1/30/2023 4:27 AM, Ard Biesheuvel wrote:
> External email: Use caution opening links or attachments
>
>
> (cc Damian)
>
> On Sat, 28 Jan 2023 at 01:27, Girish Mahadevan <gmahadevan@nvidia.com> wrote:
>>
>> 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 <gmahadevan@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;
>
> This should be MAX_ALLOC_ADDRESS not MAX_ADDRESS
>
ACK.
Best Regards
Girish
>>
>> - //
>> - // 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
>>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-01-30 16:22 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-28 0:26 [PATCH v1 1/1] StandaloneMmPkg: StandaloneMmMemLib: Change max address computation Girish Mahadevan
2023-01-30 11:27 ` Ard Biesheuvel
2023-01-30 16:22 ` Girish Mahadevan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox