summaryrefslogtreecommitdiff
path: root/lib/psci
diff options
context:
space:
mode:
authordanh-arm <dan.handley@arm.com>2016-12-14 09:25:15 +0000
committerGitHub <noreply@github.com>2016-12-14 09:25:15 +0000
commit9509f4f67acf949c21e2fcc0db7dbc6ffd43165f (patch)
tree8d1bc2ce7bb183f78a4c90b85c97f32c6d214bc4 /lib/psci
parent1b5fa6ef1082ffb9979df4aad91525eda571eb50 (diff)
parent9f3ee61c904e4b6d2038086718c5ec4237d544a8 (diff)
downloadarm-trusted-firmware-9509f4f67acf949c21e2fcc0db7dbc6ffd43165f.tar.gz
Merge pull request #775 from soby-mathew/sm/AArch32_stack_align
AArch32: Fix the stack alignment issue
Diffstat (limited to 'lib/psci')
-rw-r--r--lib/psci/aarch32/psci_helpers.S5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/psci/aarch32/psci_helpers.S b/lib/psci/aarch32/psci_helpers.S
index 27d651e3d..5a41ff31e 100644
--- a/lib/psci/aarch32/psci_helpers.S
+++ b/lib/psci/aarch32/psci_helpers.S
@@ -93,7 +93,8 @@ endfunc psci_do_pwrdown_cache_maintenance
* -----------------------------------------------------------------------
*/
func psci_do_pwrup_cache_maintenance
- push {lr}
+ /* r12 is pushed to meet the 8 byte stack alignment requirement */
+ push {r12, lr}
/* ---------------------------------------------
* Ensure any inflight stack writes have made it
@@ -123,7 +124,7 @@ func psci_do_pwrup_cache_maintenance
stcopr r0, SCTLR
isb
- pop {pc}
+ pop {r12, pc}
endfunc psci_do_pwrup_cache_maintenance
/* ---------------------------------------------