From c357fd6a1f79e2d7b0a1bd01994b8d33925bfff5 Mon Sep 17 00:00:00 2001 From: Olivier Martin Date: Fri, 10 Jan 2014 11:27:31 +0000 Subject: ArmPkg/ArmPkg.dec: Redefined PcdSystemMemory(Base|Size) as UINT64 The System Memory region might be out of the 32-bit memory space. This change has been validated on the FVP AArch64 model using 4GB of DRAM at 0x8_0000_0000: - # System Memory (2GB) - gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000 - gArmTokenSpaceGuid.PcdSystemMemorySize|0x80000000 + # System Memory (4GB) + gArmTokenSpaceGuid.PcdSystemMemoryBase|0x800000000 + gArmTokenSpaceGuid.PcdSystemMemorySize|0x100000000 EFI Shell and Linux kernel boot successfully. Note: This change has not been validated on AArch32. I expect some early assembly code to not work. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15093 6f19259b-4bc3-4df7-8a09-765794883524 --- ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.S | 4 ++-- ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'ArmPlatformPkg/PrePi/Arm') diff --git a/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.S b/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.S index 3d4e1e9279..50671aecd7 100644 --- a/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.S +++ b/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.S @@ -50,8 +50,8 @@ _SetSVCMode: // at the top of the DRAM) _SetupStackPosition: // Compute Top of System Memory - LoadConstantToReg (FixedPcdGet32(PcdSystemMemoryBase), r1) - LoadConstantToReg (FixedPcdGet32(PcdSystemMemorySize), r2) + LoadConstantToReg (FixedPcdGet64 (PcdSystemMemoryBase), r1) + LoadConstantToReg (FixedPcdGet64 (PcdSystemMemorySize), r2) sub r2, r2, #1 add r1, r1, r2 // r1 = SystemMemoryTop = PcdSystemMemoryBase + PcdSystemMemorySize diff --git a/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm b/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm index 993fccfa47..f76b62e5d0 100644 --- a/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm +++ b/ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm @@ -52,8 +52,8 @@ _SetSVCMode // at the top of the DRAM) _SetupStackPosition // Compute Top of System Memory - LoadConstantToReg (FixedPcdGet32(PcdSystemMemoryBase), r1) - LoadConstantToReg (FixedPcdGet32(PcdSystemMemorySize), r2) + LoadConstantToReg (FixedPcdGet64 (PcdSystemMemoryBase), r1) + LoadConstantToReg (FixedPcdGet64 (PcdSystemMemorySize), r2) sub r2, r2, #1 add r1, r1, r2 // r1 = SystemMemoryTop = PcdSystemMemoryBase + PcdSystemMemorySize -- cgit v1.2.3