aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorManish Pandey <manish.pandey2@arm.com>2020-03-19 22:35:13 +0000
committerTrustedFirmware Code Review <review@review.trustedfirmware.org>2020-03-19 22:35:13 +0000
commit6cdd55d1c5656ee9c1a4aaca0f57947f0edcb02c (patch)
tree3f8ce3543f24f13e6718519f9d3a92b972bb515b /include
parentf097fb70c311ba0b7eaee2101afa396981c2c534 (diff)
parent30f310052672d2500479989846380d050033cd44 (diff)
downloadplatform_external_arm-trusted-firmware-6cdd55d1c5656ee9c1a4aaca0f57947f0edcb02c.tar.gz
platform_external_arm-trusted-firmware-6cdd55d1c5656ee9c1a4aaca0f57947f0edcb02c.tar.bz2
platform_external_arm-trusted-firmware-6cdd55d1c5656ee9c1a4aaca0f57947f0edcb02c.zip
Merge "el3_entrypoint_common: avoid overwriting arg3" into integration
Diffstat (limited to 'include')
-rw-r--r--include/arch/aarch32/el3_common_macros.S10
1 files changed, 9 insertions, 1 deletions
diff --git a/include/arch/aarch32/el3_common_macros.S b/include/arch/aarch32/el3_common_macros.S
index 7559de446..4fd746d5a 100644
--- a/include/arch/aarch32/el3_common_macros.S
+++ b/include/arch/aarch32/el3_common_macros.S
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016-2019, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2016-2020, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
@@ -329,6 +329,11 @@
bl inv_dcache_range
#endif
+ /*
+ * zeromem uses r12 whereas it is used to save previous BL arg3,
+ * save it in r7
+ */
+ mov r7, r12
ldr r0, =__BSS_START__
ldr r1, =__BSS_SIZE__
bl zeromem
@@ -339,6 +344,9 @@
bl zeromem
#endif
+ /* Restore r12 */
+ mov r12, r7
+
#if defined(IMAGE_BL1) || (defined(IMAGE_BL2) && BL2_AT_EL3 && BL2_IN_XIP_MEM)
/* -----------------------------------------------------
* Copy data from ROM to RAM.