audk/ArmPlatformPkg/Library
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
..
ArmPlatformLibNull ArmPlatformPkg/ArmPlatformLibNull: switch to ASM_FUNC() asm macro 2016-08-11 13:25:05 +02:00
ArmPlatformSecLibNull ArmPlatformPkg: Increase more ARM address Pcd entries to 64-bit. 2014-11-11 00:43:03 +00:00
ArmPlatformStackLib ArmPlatformPkg/ArmPlatformStackLib: use callee preserved registers 2017-02-22 13:22:41 +00:00
ArmPlatformSysConfigLibNull ArmPlatformPkg: Introduced ArmPlatformSysConfigLib NULL library 2014-09-18 21:15:29 +00:00
ArmShellCmdRunAxf ArmPlatformPkg/ArmShellCmdRunAxf: Reference MdePkg protocol definition 2016-10-19 10:28:53 +08:00
ArmTrustedMonitorLibNull ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
DebugSecExtraActionLib ArmPkg ArmPlatformPkg ArmVirtPkg: ARM GICv2/v3 Base Address width fix-up 2016-09-08 09:16:01 +01:00
EblCmdLib ArmPlatformPkg/EblCmdLib: drop bogus ArmGlobalVariableHob.h include 2015-11-27 17:09:06 +00:00
L2X0CacheLibNull ArmPlatformPkg: Rectify file modes 2016-02-02 11:42:31 +00:00
PL011SerialPortLib ArmPlatformPkg: Remove UINTN cast when setting BaudRate. 2016-10-11 14:23:46 +01:00
PL031RealTimeClockLib ArmPlatformPkg/PL031RealTimeClockLib: remove local copy of gRT pointer 2016-05-11 16:57:23 +02:00
PlatformIntelBdsLib ArmPlatformPkg: Use EfiEventGroupSignal from UefiLib 2017-01-20 15:55:42 +08:00
PrePiHobListPointerLib ArmPlatformPkg: Rectify file modes 2016-02-02 11:42:31 +00:00
SP804TimerLib ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00