AArch64: Refactor GP register restore to separate function
authorJeenu Viswambharan <jeenu.viswambharan@arm.com>
Wed, 29 Nov 2017 16:59:34 +0000 (16:59 +0000)
committerJeenu Viswambharan <jeenu.viswambharan@arm.com>
Fri, 4 May 2018 07:32:42 +0000 (08:32 +0100)
commitef653d93ccd6ba1888c61706469021fc623c3318
tree801bddce8846ce47fd557c0483cf077e0be0400d
parente9eb1460121709a9509f428fb94c8bd4a913361c
AArch64: Refactor GP register restore to separate function

At present, the function that restores general purpose registers also
does ERET. Refactor the restore code to restore general purpose
registers without ERET to complement the save function.

The macro save_x18_to_x29_sp_el0 was used only once, and is therefore
removed, and its contents expanded inline for readability.

No functional changes, but with this patch:

  - The SMC return path will incur an branch-return and an additional
    register load.

  - The unknown SMC path restores registers x0 to x3.

Change-Id: I7a1a63e17f34f9cde810685d70a0ad13ca3b7c50
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
bl31/aarch64/runtime_exceptions.S
lib/el3_runtime/aarch64/context.S