audk/ArmPlatformPkg
Ard Biesheuvel 91231b55d5 ArmPlatformPkg/ArmPlatformStackLib: use callee preserved registers
The entry code in ArmPlatformStackSet () is a 1:1 transliteration of the
ARM version, which uses the callee preserved registers r3 - r7 (*) to
preserve the function arguments and the link register across a call to
ArmPlatformIsPrimaryCore ().

However, x3 - x7 are not callee preserved on AARCH64, and so we should use
registers >= x19 instead. While we're at it, drop an unnecessary preserve
of the link register, and simplify/deobfuscate the calculation of the
secondary stack position.

(*) Note that r3 is not actually a callee saved register even on ARM.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2017-02-22 13:22:41 +00:00
..
ArmJunoPkg ArmPlatformPkg/ArmJunoPkg/Drivers/ArmJunoDxe: Fixed crash on Juno R0 2017-01-25 13:41:27 +00:00
ArmVExpressPkg ArmPlatformPkg/TZASC: Allow specifying subregions to be disabled 2017-01-26 14:31:37 +00:00
Documentation ArmPlatformPkg: Rectify file modes 2016-02-02 11:42:31 +00:00
Drivers ArmPlatformPkg/PL061Gpio: fix the offset value in Get function 2017-02-16 11:31:25 +00:00
FileSystem/BootMonFs ArmPlatformPkg/BootMonFs: eliminate deprecated string functions 2016-10-28 15:56:13 +01:00
Include ArmPlatformPkg/TZASC: Allow specifying subregions to be disabled 2017-01-26 14:31:37 +00:00
Library ArmPlatformPkg/ArmPlatformStackLib: use callee preserved registers 2017-02-22 13:22:41 +00:00
MemoryInitPei ArmPlatformPkg: remove EFI_MEMORY_UC attribute from normal memory 2016-09-08 10:35:33 +01:00
PlatformPei ArmPlatformPkg: Rectify file modes 2016-02-02 11:42:31 +00:00
PrePeiCore ArmPkg ArmPlatformPkg ArmVirtPkg: ARM GICv2/v3 Base Address width fix-up 2016-09-08 09:16:01 +01:00
PrePi ArmPlatformPkg/PrePi RVCT: use relative reference to mSystemMemoryEnd 2016-10-28 16:26:15 +01:00
Scripts ArmPlatformPkg/DS-5: fix 64-bit PE/COFF header parsing bug 2016-04-18 10:18:14 +02:00
ArmPlatformPkg.dec ArmPlatformPkg: change PcdBdsLinuxSupport default value 2016-08-04 14:32:19 +01:00
Contributions.txt */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
License.txt ArmPlatformPkg: Rectify file modes 2016-02-02 11:42:31 +00:00