On 9 September 2015 at 16:31, Leif Lindholm <leif.lindh...@linaro.org> wrote:
> On Tue, Sep 08, 2015 at 07:35:40PM +0200, Ard Biesheuvel wrote:
>> Make sure that the PEI memory region is carved out of memory that is
>> 32-bit addressable, by taking MAX_ADDRESS into account (which is
>> defined as '4 GB - 1' on ARM)
>>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org>
>> ---
>>  ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.c | 7 +++++--
>>  1 file changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.c 
>> b/ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.c
>> index 93ab16ca4a74..9f26d26a04d3 100755
>> --- a/ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.c
>> +++ b/ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.c
>> @@ -96,7 +96,7 @@ InitializeMemory (
>>  {
>>    EFI_STATUS                            Status;
>>    UINTN                                 SystemMemoryBase;
>> -  UINTN                                 SystemMemoryTop;
>> +  UINT64                                SystemMemoryTop;
>>    UINTN                                 FdBase;
>>    UINTN                                 FdTop;
>>    UINTN                                 UefiMemoryBase;
>> @@ -115,7 +115,10 @@ InitializeMemory (
>>    ASSERT (PcdGet64 (PcdSystemMemorySize) != 0);
>>
>>    SystemMemoryBase = (UINTN)PcdGet64 (PcdSystemMemoryBase);
>> -  SystemMemoryTop = SystemMemoryBase + (UINTN)PcdGet64 
>> (PcdSystemMemorySize);
>> +  SystemMemoryTop = SystemMemoryBase + PcdGet64 (PcdSystemMemorySize);
>> +  if (SystemMemoryTop - 1 > MAX_ADDRESS) {
>> +    SystemMemoryTop = (UINT64) MAX_ADDRESS + 1;
>> +  }
>>    FdBase = (UINTN)PcdGet64 (PcdFdBaseAddress);
>>    FdTop = FdBase + (UINTN)PcdGet32 (PcdFdSize);
>>
>> --
>> 1.9.1
>
> So, this is mainly an OCD thing on my end, but is there any real
> benefit to _not_ converting SystemMemoryBase to 64-bit? Doing so would
> get rid of the other UINTN cast.
>

Not really, other than the fact that UINTN is more suitable for the
base of DRAM, since you won't be able to run 32-bit UEFI if RAM starts
above 4 GB anyway, so changing it to UINT64 seemed wrong to me.

> Either way:
> Reviewed-by: Leif Lindholm <leif.lindh...@linaro.org>
>

Thanks!
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to