summaryrefslogtreecommitdiffstats
path: root/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2016-08-05 14:02:50 +0200
committerArd Biesheuvel <ard.biesheuvel@linaro.org>2016-08-11 12:29:31 +0200
commit16a9fe2ca9cc845cdc31ed8ff8310594c4a34717 (patch)
tree3e099cfb684149f7b97a679fd489f58b44ea881b /ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S
parentd2d0e27c7668017ef3d435a18e5d8008d36632d1 (diff)
downloaddevice_linaro_bootloader_edk2-16a9fe2ca9cc845cdc31ed8ff8310594c4a34717.tar.gz
device_linaro_bootloader_edk2-16a9fe2ca9cc845cdc31ed8ff8310594c4a34717.tar.bz2
device_linaro_bootloader_edk2-16a9fe2ca9cc845cdc31ed8ff8310594c4a34717.zip
ArmVirt/PrePi: make jump to CEntryPoint relative
The ArmVirtPkg platforms that use PrePi have no notion of boot remapped aliases, so we can simply jump to CEntryPoint() directly rather than via an absolute reference. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Diffstat (limited to 'ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S')
-rw-r--r--ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S7
1 files changed, 1 insertions, 6 deletions
diff --git a/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S b/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S
index 3215c7d55..a0176af91 100644
--- a/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S
+++ b/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S
@@ -27,7 +27,6 @@ GCC_ASM_IMPORT(ArmPlatformStackSet)
GCC_ASM_EXPORT(_ModuleEntryPoint)
ASM_GLOBAL ASM_PFX(mSystemMemoryEnd)
-StartupAddr: .long ASM_PFX(CEntryPoint)
ASM_PFX(mSystemMemoryEnd): .quad 0
__relocs:
@@ -182,15 +181,11 @@ _PrepareArguments:
mov r1, r11
mov r2, r9
- // Move sec startup address into a data register
- // Ensure we're jumping to FV version of the code (not boot remapped alias)
- ldr r4, StartupAddr
-
// Jump to PrePiCore C code
// r0 = MpId
// r1 = UefiMemoryBase
// r2 = StacksBase
- blx r4
+ bl ASM_PFX(CEntryPoint)
_NeverReturn:
b _NeverReturn