diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2016-10-24 09:22:22 +0100 |
---|---|---|
committer | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2016-10-24 15:57:25 +0100 |
commit | 5b005a6b322feea8be7303ad50a09cecfecdbaba (patch) | |
tree | 509ae0af4503feb726b27abc65b5d08903b81501 /ArmVirtPkg | |
parent | c112e371ce0aa40204fc9a1674cd2e0df0d743c8 (diff) | |
download | edk2-5b005a6b322feea8be7303ad50a09cecfecdbaba.tar.gz edk2-5b005a6b322feea8be7303ad50a09cecfecdbaba.tar.bz2 edk2-5b005a6b322feea8be7303ad50a09cecfecdbaba.zip |
ArmVirtPkg/PrePi: remove mSystemMemoryEnd
Recording the top of SEC visible system memory in a global variable is
not necessary, and violates the constraints of the SEC/PEI environment,
given that it may execute from NOR flash. So remove it.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Laszlo Ersek <lersek@redhat.com>
Diffstat (limited to 'ArmVirtPkg')
-rw-r--r-- | ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S | 6 | ||||
-rw-r--r-- | ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S | 8 | ||||
-rw-r--r-- | ArmVirtPkg/PrePi/PrePi.h | 2 |
3 files changed, 1 insertions, 15 deletions
diff --git a/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S b/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S index 9c040b17f2..cc8b47e690 100644 --- a/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S +++ b/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S @@ -14,8 +14,6 @@ #include <AsmMacroIoLibV8.h>
-ASM_GLOBAL ASM_PFX(mSystemMemoryEnd)
-
ASM_FUNC(_ModuleEntryPoint)
//
// We are built as a ET_DYN PIE executable, so we need to process all
@@ -68,8 +66,6 @@ _SetupStackPosition: ldr x2, PcdGet64 (PcdSystemMemorySize)
sub x2, x2, #1
add x1, x1, x2 // x1 = SystemMemoryTop = PcdSystemMemoryBase + PcdSystemMemorySize
- adr x2, mSystemMemoryEnd
- str x1, [x2]
// Calculate Top of the Firmware Device
ldr x2, PcdGet64 (PcdFdBaseAddress)
@@ -151,5 +147,3 @@ _PrepareArguments: _NeverReturn:
b _NeverReturn
-
-ASM_PFX(mSystemMemoryEnd): .8byte 0
diff --git a/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S b/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S index e03aeefbb0..59028d0a55 100644 --- a/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S +++ b/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S @@ -14,8 +14,6 @@ #include <AsmMacroIoLib.h>
-ASM_GLOBAL ASM_PFX(mSystemMemoryEnd)
-
ASM_FUNC(_ModuleEntryPoint)
//
// We are built as a ET_DYN PIE executable, so we need to process all
@@ -66,12 +64,10 @@ _SetupStackPosition: ADRL (r12, PcdGet64 (PcdSystemMemorySize))
ldrd r2, r3, [r12]
- // calculate the top of memory, and record it in mSystemMemoryEnd
+ // calculate the top of memory
adds r2, r2, r1
sub r2, r2, #1
addcs r3, r3, #1
- adr r12, mSystemMemoryEnd
- strd r2, r3, [r12]
// truncate the memory used by UEFI to 4 GB range
teq r3, #0
@@ -159,5 +155,3 @@ _PrepareArguments: _NeverReturn:
b _NeverReturn
-
-ASM_PFX(mSystemMemoryEnd): .quad 0
diff --git a/ArmVirtPkg/PrePi/PrePi.h b/ArmVirtPkg/PrePi/PrePi.h index 9b828377ad..d3189c0b8a 100644 --- a/ArmVirtPkg/PrePi/PrePi.h +++ b/ArmVirtPkg/PrePi/PrePi.h @@ -29,8 +29,6 @@ #define SerialPrint(txt) SerialPortWrite (txt, AsciiStrLen(txt)+1);
-extern UINT64 mSystemMemoryEnd;
-
RETURN_STATUS
EFIAPI
TimerConstructor (
|