diff options
| author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2016-08-05 14:02:50 +0200 |
|---|---|---|
| committer | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2016-08-11 12:29:31 +0200 |
| commit | 16a9fe2ca9cc845cdc31ed8ff8310594c4a34717 (patch) | |
| tree | 3e099cfb684149f7b97a679fd489f58b44ea881b /ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S | |
| parent | d2d0e27c7668017ef3d435a18e5d8008d36632d1 (diff) | |
| download | device_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.S | 7 |
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
|
