mirror of https://github.com/acidanthera/audk.git
ArmPlatformPkg/MemoryInitPeim: take MAX_ALLOC_ADDRESS into account
Limit the PEI memory region so it will not extend beyond what we can address architecturally when running with 4 KB pages. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
This commit is contained in:
parent
1c36f028fa
commit
6bd42402f7
|
@ -105,12 +105,12 @@ InitializeMemory (
|
|||
|
||||
// Ensure PcdSystemMemorySize has been set
|
||||
ASSERT (PcdGet64 (PcdSystemMemorySize) != 0);
|
||||
ASSERT (PcdGet64 (PcdSystemMemoryBase) < (UINT64)MAX_ADDRESS);
|
||||
ASSERT (PcdGet64 (PcdSystemMemoryBase) < (UINT64)MAX_ALLOC_ADDRESS);
|
||||
|
||||
SystemMemoryBase = (UINTN)PcdGet64 (PcdSystemMemoryBase);
|
||||
SystemMemoryTop = SystemMemoryBase + PcdGet64 (PcdSystemMemorySize);
|
||||
if (SystemMemoryTop - 1 > MAX_ADDRESS) {
|
||||
SystemMemoryTop = (UINT64)MAX_ADDRESS + 1;
|
||||
if (SystemMemoryTop - 1 > MAX_ALLOC_ADDRESS) {
|
||||
SystemMemoryTop = (UINT64)MAX_ALLOC_ADDRESS + 1;
|
||||
}
|
||||
FdBase = (UINTN)PcdGet64 (PcdFdBaseAddress);
|
||||
FdTop = FdBase + (UINTN)PcdGet32 (PcdFdSize);
|
||||
|
|
Loading…
Reference in New Issue