aboutsummaryrefslogtreecommitdiff
path: root/plat/fvp/aarch64/bl1_plat_helpers.S
diff options
context:
space:
mode:
authorAndrew Thoelke <andrew.thoelke@arm.com>2014-04-28 12:32:02 +0100
committerAndrew Thoelke <andrew.thoelke@arm.com>2014-05-07 11:29:50 +0100
commit7935d0a59d439c993b79814ab414d37e4a90d9a6 (patch)
treeb441893641316f785bf782b24ac8877252eb8afb /plat/fvp/aarch64/bl1_plat_helpers.S
parent2f5dcfef1db42f3b073ae657f8a94925abecd768 (diff)
downloadarm-trusted-firmware-7935d0a59d439c993b79814ab414d37e4a90d9a6.tar.gz
Access system registers directly in assembler
Instead of using the system register helper functions to read or write system registers, assembler coded functions should use MRS/MSR instructions. This results in faster and more compact code. This change replaces all usage of the helper functions with direct register accesses. Change-Id: I791d5f11f257010bb3e6a72c6c5ab8779f1982b3
Diffstat (limited to 'plat/fvp/aarch64/bl1_plat_helpers.S')
-rw-r--r--plat/fvp/aarch64/bl1_plat_helpers.S7
1 files changed, 3 insertions, 4 deletions
diff --git a/plat/fvp/aarch64/bl1_plat_helpers.S b/plat/fvp/aarch64/bl1_plat_helpers.S
index 92075ea..b4d4458 100644
--- a/plat/fvp/aarch64/bl1_plat_helpers.S
+++ b/plat/fvp/aarch64/bl1_plat_helpers.S
@@ -67,7 +67,7 @@ func plat_secondary_cold_boot_setup
* loader zeroes out the zi section.
* ---------------------------------------------
*/
- bl read_mpidr
+ mrs x0, mpidr_el1
ldr x1, =PWRC_BASE
str w0, [x1, #PPOFFR_OFF]
@@ -173,8 +173,6 @@ func platform_mem_init
func platform_cold_boot_init
mov x20, x0
bl platform_mem_init
- bl read_mpidr
- mov x19, x0
/* ---------------------------------------------
* Give ourselves a small coherent stack to
@@ -182,6 +180,7 @@ func platform_cold_boot_init
* CCI in assembler
* ---------------------------------------------
*/
+ mrs x0, mpidr_el1
bl platform_set_coherent_stack
/* ---------------------------------------------
@@ -200,7 +199,7 @@ func platform_cold_boot_init
* -IS-WBWA memory
* ---------------------------------------------
*/
- mov x0, x19
+ mrs x0, mpidr_el1
bl platform_set_stack
/* ---------------------------------------------