diff options
author | Jeenu Viswambharan <jeenu.viswambharan@arm.com> | 2017-11-07 12:03:05 +0000 |
---|---|---|
committer | Sandrine Bailleux <sandrine.bailleux@arm.com> | 2017-11-10 15:31:57 +0000 |
commit | 9e5fb401b25215bfbea7706b60a0368242f745d2 (patch) | |
tree | d9a0b5fc540e37bdfec0da14f28fde192124f55b /tests/runtime_services | |
parent | ef3d1cd24e0a03a540c6f8225efe7f12198cb33b (diff) |
SDEI: Avoid touching x29
The current SDEI entry points setup x29 which isn't needed; the compiler
will set that up directly within the C handler.
Change-Id: I28d70cb105c8ca614ac41f23048f1bca1e8e26a4
Signed-off-by: Jeenu Viswambharan <jeenu.viswambharan@arm.com>
Diffstat (limited to 'tests/runtime_services')
-rw-r--r-- | tests/runtime_services/standard_service/sdei/system_tests/sdei_entrypoint.S | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/tests/runtime_services/standard_service/sdei/system_tests/sdei_entrypoint.S b/tests/runtime_services/standard_service/sdei/system_tests/sdei_entrypoint.S index e152c1b..dc2c227 100644 --- a/tests/runtime_services/standard_service/sdei/system_tests/sdei_entrypoint.S +++ b/tests/runtime_services/standard_service/sdei/system_tests/sdei_entrypoint.S @@ -41,10 +41,9 @@ #ifdef AARCH64 func sdei_entrypoint - stp x29, x30, [sp, #-16]! - mov x29, sp + stp xzr, x30, [sp, #-16]! bl sdei_event_handler - ldp x29, x30, [sp],#16 + ldp xzr, x30, [sp],#16 mov_imm x0, SDEI_EVENT_COMPLETE mov x1, xzr smc #0 @@ -52,10 +51,7 @@ func sdei_entrypoint endfunc sdei_entrypoint func sdei_entrypoint_resume - stp x29, x30, [sp, #-16]! - /* Store xzr to keep the stack aligned to 16 bytes */ - stp x2, xzr, [sp, #-16]! - mov x29, sp + stp x2, x30, [sp, #-16]! /* Dispatch to C handler */ bl sdei_event_handler @@ -75,8 +71,7 @@ func sdei_entrypoint_resume sev /* Populate `x0` and `x1` to prepare for SMC call */ - ldp x1, xzr, [sp], #16 - ldp x29, x30, [sp], #16 + ldp x1, x30, [sp], #16 mov_imm x0, SDEI_EVENT_COMPLETE_AND_RESUME smc #0 endfunc sdei_entrypoint_resume |