summaryrefslogtreecommitdiffstats
path: root/ArmVirtPkg/PrePi
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2016-10-24 09:22:22 +0100
committerArd Biesheuvel <ard.biesheuvel@linaro.org>2016-10-24 15:57:25 +0100
commit5b005a6b322feea8be7303ad50a09cecfecdbaba (patch)
tree509ae0af4503feb726b27abc65b5d08903b81501 /ArmVirtPkg/PrePi
parentc112e371ce0aa40204fc9a1674cd2e0df0d743c8 (diff)
downloadedk2-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/PrePi')
-rw-r--r--ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S6
-rw-r--r--ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S8
-rw-r--r--ArmVirtPkg/PrePi/PrePi.h2
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 (