diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2015-07-06 22:09:02 +0000 |
---|---|---|
committer | abiesheuvel <abiesheuvel@Edk2> | 2015-07-06 22:09:02 +0000 |
commit | f7b0d3f2b5c61035ce7c23d4aef14083c3b1634d (patch) | |
tree | 3a4aaa85c56d24e4c10510702a3c69df1fff1f36 /ArmVirtPkg | |
parent | 13a68bbaa7bf13710357945a5194b21579f3d875 (diff) | |
download | edk2-f7b0d3f2b5c61035ce7c23d4aef14083c3b1634d.tar.gz edk2-f7b0d3f2b5c61035ce7c23d4aef14083c3b1634d.tar.bz2 edk2-f7b0d3f2b5c61035ce7c23d4aef14083c3b1634d.zip |
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
Diffstat (limited to 'ArmVirtPkg')
-rw-r--r-- | ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S | 4 | ||||
-rw-r--r-- | ArmVirtPkg/PrePi/PrePi.h | 2 |
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 (
|