summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2015-07-06 22:09:02 +0000
committerabiesheuvel <abiesheuvel@Edk2>2015-07-06 22:09:02 +0000
commitf7b0d3f2b5c61035ce7c23d4aef14083c3b1634d (patch)
tree3a4aaa85c56d24e4c10510702a3c69df1fff1f36
parent13a68bbaa7bf13710357945a5194b21579f3d875 (diff)
downloadedk2-platforms-f7b0d3f2b5c61035ce7c23d4aef14083c3b1634d.tar.xz
ArmVirtPkg: adapt ArmVirtXen build to system memory end global variable
This fixes the ArmVirtXen build that was broken by r17835, which adds a global variable mSystemMemoryEnd which is shared between a module and a library it depends on. Add the same global variable to the relocatable PrePi used by ArmVirtXen. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Acked-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17837 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S4
-rw-r--r--ArmVirtPkg/PrePi/PrePi.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S b/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S
index 568d0086d6..0adaf44c9e 100644
--- a/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S
+++ b/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S
@@ -25,8 +25,10 @@ GCC_ASM_IMPORT(ArmReadMpidr)
GCC_ASM_IMPORT(ArmPlatformPeiBootAction)
GCC_ASM_IMPORT(ArmPlatformStackSet)
GCC_ASM_EXPORT(_ModuleEntryPoint)
+GCC_ASM_EXPORT(mSystemMemoryEnd)
StartupAddr: .8byte ASM_PFX(CEntryPoint)
+mSystemMemoryEnd: .8byte 0
ASM_PFX(_ModuleEntryPoint):
//
@@ -80,6 +82,8 @@ _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)
diff --git a/ArmVirtPkg/PrePi/PrePi.h b/ArmVirtPkg/PrePi/PrePi.h
index 517429fab9..15b91e49c9 100644
--- a/ArmVirtPkg/PrePi/PrePi.h
+++ b/ArmVirtPkg/PrePi/PrePi.h
@@ -29,6 +29,8 @@
#define SerialPrint(txt) SerialPortWrite (txt, AsciiStrLen(txt)+1);
+extern UINT64 mSystemMemoryEnd;
+
RETURN_STATUS
EFIAPI
TimerConstructor (