aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorVikram Kanigiri <vikram.kanigiri@arm.com>2014-03-11 17:41:00 +0000
committerDan Handley <dan.handley@arm.com>2014-03-21 17:17:48 +0000
commit6ba0b6d6743534b3d443602dc88558d62ea432b3 (patch)
tree4581ce3cd1104da70e38e8855ec35e824e5cb625 /lib
parent5132060c48fe2dbc3ce64755cd83b61d6e017f10 (diff)
Remove partially qualified asm helper functions
Each ARM Trusted Firmware image should know in which EL it is running and it should use the corresponding register directly instead of reading currentEL and knowing which asm register to read/write Change-Id: Ief35630190b6f07c8fbb7ba6cb20db308f002945
Diffstat (limited to 'lib')
-rw-r--r--lib/arch/aarch64/sysreg_helpers.S318
1 files changed, 0 insertions, 318 deletions
diff --git a/lib/arch/aarch64/sysreg_helpers.S b/lib/arch/aarch64/sysreg_helpers.S
index 6650419..dfd0f2f 100644
--- a/lib/arch/aarch64/sysreg_helpers.S
+++ b/lib/arch/aarch64/sysreg_helpers.S
@@ -30,127 +30,99 @@
#include <arch_helpers.h>
- .globl read_vbar
.globl read_vbar_el1
.globl read_vbar_el2
.globl read_vbar_el3
- .globl write_vbar
.globl write_vbar_el1
.globl write_vbar_el2
.globl write_vbar_el3
- .globl read_sctlr
.globl read_sctlr_el1
.globl read_sctlr_el2
.globl read_sctlr_el3
- .globl write_sctlr
.globl write_sctlr_el1
.globl write_sctlr_el2
.globl write_sctlr_el3
- .globl read_actlr
.globl read_actlr_el1
.globl read_actlr_el2
.globl read_actlr_el3
- .globl write_actlr
.globl write_actlr_el1
.globl write_actlr_el2
.globl write_actlr_el3
- .globl read_esr
.globl read_esr_el1
.globl read_esr_el2
.globl read_esr_el3
- .globl write_esr
.globl write_esr_el1
.globl write_esr_el2
.globl write_esr_el3
- .globl read_afsr0
.globl read_afsr0_el1
.globl read_afsr0_el2
.globl read_afsr0_el3
- .globl write_afsr0
.globl write_afsr0_el1
.globl write_afsr0_el2
.globl write_afsr0_el3
- .globl read_afsr1
.globl read_afsr1_el1
.globl read_afsr1_el2
.globl read_afsr1_el3
- .globl write_afsr1
.globl write_afsr1_el1
.globl write_afsr1_el2
.globl write_afsr1_el3
- .globl read_far
.globl read_far_el1
.globl read_far_el2
.globl read_far_el3
- .globl write_far
.globl write_far_el1
.globl write_far_el2
.globl write_far_el3
- .globl read_mair
.globl read_mair_el1
.globl read_mair_el2
.globl read_mair_el3
- .globl write_mair
.globl write_mair_el1
.globl write_mair_el2
.globl write_mair_el3
- .globl read_amair
.globl read_amair_el1
.globl read_amair_el2
.globl read_amair_el3
- .globl write_amair
.globl write_amair_el1
.globl write_amair_el2
.globl write_amair_el3
- .globl read_rvbar
.globl read_rvbar_el1
.globl read_rvbar_el2
.globl read_rvbar_el3
- .globl read_rmr
.globl read_rmr_el1
.globl read_rmr_el2
.globl read_rmr_el3
- .globl write_rmr
.globl write_rmr_el1
.globl write_rmr_el2
.globl write_rmr_el3
- .globl read_tcr
.globl read_tcr_el1
.globl read_tcr_el2
.globl read_tcr_el3
- .globl write_tcr
.globl write_tcr_el1
.globl write_tcr_el2
.globl write_tcr_el3
- .globl read_cptr
.globl read_cptr_el2
.globl read_cptr_el3
- .globl write_cptr
.globl write_cptr_el2
.globl write_cptr_el3
- .globl read_ttbr0
.globl read_ttbr0_el1
.globl read_ttbr0_el2
.globl read_ttbr0_el3
- .globl write_ttbr0
.globl write_ttbr0_el1
.globl write_ttbr0_el2
.globl write_ttbr0_el3
- .globl read_ttbr1
.globl read_ttbr1_el1
.globl read_ttbr1_el2
.globl write_ttbr1
@@ -213,16 +185,6 @@ read_id_aa64pfr0_el1: ; .type read_id_aa64pfr0_el1, %function
* VBAR accessors
* -----------------------------------------------------
*/
-read_vbar: ; .type read_vbar, %function
- mrs x0, CurrentEl
- cmp x0, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq read_vbar_el1
- cmp x0, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq read_vbar_el2
- cmp x0, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq read_vbar_el3
-
-
read_vbar_el1: ; .type read_vbar_el1, %function
mrs x0, vbar_el1
ret
@@ -238,16 +200,6 @@ read_vbar_el3: ; .type read_vbar_el3, %function
ret
-write_vbar: ; .type write_vbar, %function
- mrs x1, CurrentEl
- cmp x1, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq write_vbar_el1
- cmp x1, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq write_vbar_el2
- cmp x1, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq write_vbar_el3
-
-
write_vbar_el1: ; .type write_vbar_el1, %function
msr vbar_el1, x0
isb
@@ -270,16 +222,6 @@ write_vbar_el3: ; .type write_vbar_el3, %function
* AFSR0 accessors
* -----------------------------------------------------
*/
-read_afsr0: ; .type read_afsr0, %function
- mrs x0, CurrentEl
- cmp x0, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq read_afsr0_el1
- cmp x0, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq read_afsr0_el2
- cmp x0, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq read_afsr0_el3
-
-
read_afsr0_el1: ; .type read_afsr0_el1, %function
mrs x0, afsr0_el1
ret
@@ -295,16 +237,6 @@ read_afsr0_el3: ; .type read_afsr0_el3, %function
ret
-write_afsr0: ; .type write_afsr0, %function
- mrs x1, CurrentEl
- cmp x1, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq write_afsr0_el1
- cmp x1, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq write_afsr0_el2
- cmp x1, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq write_afsr0_el3
-
-
write_afsr0_el1: ; .type write_afsr0_el1, %function
msr afsr0_el1, x0
isb
@@ -327,16 +259,6 @@ write_afsr0_el3: ; .type write_afsr0_el3, %function
* FAR accessors
* -----------------------------------------------------
*/
-read_far: ; .type read_far, %function
- mrs x0, CurrentEl
- cmp x0, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq read_far_el1
- cmp x0, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq read_far_el2
- cmp x0, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq read_far_el3
-
-
read_far_el1: ; .type read_far_el1, %function
mrs x0, far_el1
ret
@@ -352,16 +274,6 @@ read_far_el3: ; .type read_far_el3, %function
ret
-write_far: ; .type write_far, %function
- mrs x1, CurrentEl
- cmp x1, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq write_far_el1
- cmp x1, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq write_far_el2
- cmp x1, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq write_far_el3
-
-
write_far_el1: ; .type write_far_el1, %function
msr far_el1, x0
isb
@@ -384,16 +296,6 @@ write_far_el3: ; .type write_far_el3, %function
* MAIR accessors
* -----------------------------------------------------
*/
-read_mair: ; .type read_mair, %function
- mrs x0, CurrentEl
- cmp x0, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq read_mair_el1
- cmp x0, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq read_mair_el2
- cmp x0, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq read_mair_el3
-
-
read_mair_el1: ; .type read_mair_el1, %function
mrs x0, mair_el1
ret
@@ -409,16 +311,6 @@ read_mair_el3: ; .type read_mair_el3, %function
ret
-write_mair: ; .type write_mair, %function
- mrs x1, CurrentEl
- cmp x1, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq write_mair_el1
- cmp x1, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq write_mair_el2
- cmp x1, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq write_mair_el3
-
-
write_mair_el1: ; .type write_mair_el1, %function
msr mair_el1, x0
isb
@@ -441,16 +333,6 @@ write_mair_el3: ; .type write_mair_el3, %function
* AMAIR accessors
* -----------------------------------------------------
*/
-read_amair: ; .type read_amair, %function
- mrs x0, CurrentEl
- cmp x0, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq read_amair_el1
- cmp x0, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq read_amair_el2
- cmp x0, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq read_amair_el3
-
-
read_amair_el1: ; .type read_amair_el1, %function
mrs x0, amair_el1
ret
@@ -466,16 +348,6 @@ read_amair_el3: ; .type read_amair_el3, %function
ret
-write_amair: ; .type write_amair, %function
- mrs x1, CurrentEl
- cmp x1, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq write_amair_el1
- cmp x1, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq write_amair_el2
- cmp x1, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq write_amair_el3
-
-
write_amair_el1: ; .type write_amair_el1, %function
msr amair_el1, x0
isb
@@ -498,16 +370,6 @@ write_amair_el3: ; .type write_amair_el3, %function
* RVBAR accessors
* -----------------------------------------------------
*/
-read_rvbar: ; .type read_rvbar, %function
- mrs x0, CurrentEl
- cmp x0, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq read_rvbar_el1
- cmp x0, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq read_rvbar_el2
- cmp x0, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq read_rvbar_el3
-
-
read_rvbar_el1: ; .type read_rvbar_el1, %function
mrs x0, rvbar_el1
ret
@@ -527,16 +389,6 @@ read_rvbar_el3: ; .type read_rvbar_el3, %function
* RMR accessors
* -----------------------------------------------------
*/
-read_rmr: ; .type read_rmr, %function
- mrs x0, CurrentEl
- cmp x0, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq read_rmr_el1
- cmp x0, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq read_rmr_el2
- cmp x0, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq read_rmr_el3
-
-
read_rmr_el1: ; .type read_rmr_el1, %function
mrs x0, rmr_el1
ret
@@ -552,16 +404,6 @@ read_rmr_el3: ; .type read_rmr_el3, %function
ret
-write_rmr: ; .type write_rmr, %function
- mrs x1, CurrentEl
- cmp x1, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq write_rmr_el1
- cmp x1, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq write_rmr_el2
- cmp x1, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq write_rmr_el3
-
-
write_rmr_el1: ; .type write_rmr_el1, %function
msr rmr_el1, x0
isb
@@ -580,16 +422,6 @@ write_rmr_el3: ; .type write_rmr_el3, %function
ret
-read_afsr1: ; .type read_afsr1, %function
- mrs x0, CurrentEl
- cmp x0, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq read_afsr1_el1
- cmp x0, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq read_afsr1_el2
- cmp x0, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq read_afsr1_el3
-
-
/* -----------------------------------------------------
* AFSR1 accessors
* -----------------------------------------------------
@@ -609,16 +441,6 @@ read_afsr1_el3: ; .type read_afsr1_el3, %function
ret
-write_afsr1: ; .type write_afsr1, %function
- mrs x1, CurrentEl
- cmp x1, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq write_afsr1_el1
- cmp x1, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq write_afsr1_el2
- cmp x1, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq write_afsr1_el3
-
-
write_afsr1_el1: ; .type write_afsr1_el1, %function
msr afsr1_el1, x0
isb
@@ -641,16 +463,6 @@ write_afsr1_el3: ; .type write_afsr1_el3, %function
* SCTLR accessors
* -----------------------------------------------------
*/
-read_sctlr: ; .type read_sctlr, %function
- mrs x0, CurrentEl
- cmp x0, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq read_sctlr_el1
- cmp x0, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq read_sctlr_el2
- cmp x0, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq read_sctlr_el3
-
-
read_sctlr_el1: ; .type read_sctlr_el1, %function
mrs x0, sctlr_el1
ret
@@ -666,16 +478,6 @@ read_sctlr_el3: ; .type read_sctlr_el3, %function
ret
-write_sctlr: ; .type write_sctlr, %function
- mrs x1, CurrentEl
- cmp x1, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq write_sctlr_el1
- cmp x1, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq write_sctlr_el2
- cmp x1, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq write_sctlr_el3
-
-
write_sctlr_el1: ; .type write_sctlr_el1, %function
msr sctlr_el1, x0
dsb sy
@@ -701,16 +503,6 @@ write_sctlr_el3: ; .type write_sctlr_el3, %function
* ACTLR accessors
* -----------------------------------------------------
*/
-read_actlr: ; .type read_actlr, %function
- mrs x0, CurrentEl
- cmp x0, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq read_actlr_el1
- cmp x0, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq read_actlr_el2
- cmp x0, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq read_actlr_el3
-
-
read_actlr_el1: ; .type read_actlr_el1, %function
mrs x0, actlr_el1
ret
@@ -726,16 +518,6 @@ read_actlr_el3: ; .type read_actlr_el3, %function
ret
-write_actlr: ; .type write_actlr, %function
- mrs x1, CurrentEl
- cmp x1, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq write_actlr_el1
- cmp x1, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq write_actlr_el2
- cmp x1, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq write_actlr_el3
-
-
write_actlr_el1: ; .type write_actlr_el1, %function
msr actlr_el1, x0
dsb sy
@@ -761,16 +543,6 @@ write_actlr_el3: ; .type write_actlr_el3, %function
* ESR accessors
* -----------------------------------------------------
*/
-read_esr: ; .type read_esr, %function
- mrs x0, CurrentEl
- cmp x0, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq read_esr_el1
- cmp x0, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq read_esr_el2
- cmp x0, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq read_esr_el3
-
-
read_esr_el1: ; .type read_esr_el1, %function
mrs x0, esr_el1
ret
@@ -786,16 +558,6 @@ read_esr_el3: ; .type read_esr_el3, %function
ret
-write_esr: ; .type write_esr, %function
- mrs x1, CurrentEl
- cmp x1, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq write_esr_el1
- cmp x1, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq write_esr_el2
- cmp x1, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq write_esr_el3
-
-
write_esr_el1: ; .type write_esr_el1, %function
msr esr_el1, x0
dsb sy
@@ -821,16 +583,6 @@ write_esr_el3: ; .type write_esr_el3, %function
* TCR accessors
* -----------------------------------------------------
*/
-read_tcr: ; .type read_tcr, %function
- mrs x0, CurrentEl
- cmp x0, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq read_tcr_el1
- cmp x0, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq read_tcr_el2
- cmp x0, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq read_tcr_el3
-
-
read_tcr_el1: ; .type read_tcr_el1, %function
mrs x0, tcr_el1
ret
@@ -846,16 +598,6 @@ read_tcr_el3: ; .type read_tcr_el3, %function
ret
-write_tcr: ; .type write_tcr, %function
- mrs x1, CurrentEl
- cmp x1, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq write_tcr_el1
- cmp x1, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq write_tcr_el2
- cmp x1, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq write_tcr_el3
-
-
write_tcr_el1: ; .type write_tcr_el1, %function
msr tcr_el1, x0
dsb sy
@@ -881,16 +623,6 @@ write_tcr_el3: ; .type write_tcr_el3, %function
* CPTR accessors
* -----------------------------------------------------
*/
-read_cptr: ; .type read_cptr, %function
- mrs x0, CurrentEl
- cmp x0, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq read_cptr_el1
- cmp x0, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq read_cptr_el2
- cmp x0, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq read_cptr_el3
-
-
read_cptr_el1: ; .type read_cptr_el1, %function
b read_cptr_el1
ret
@@ -906,16 +638,6 @@ read_cptr_el3: ; .type read_cptr_el3, %function
ret
-write_cptr: ; .type write_cptr, %function
- mrs x1, CurrentEl
- cmp x1, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq write_cptr_el1
- cmp x1, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq write_cptr_el2
- cmp x1, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq write_cptr_el3
-
-
write_cptr_el1: ; .type write_cptr_el1, %function
b write_cptr_el1
@@ -938,16 +660,6 @@ write_cptr_el3: ; .type write_cptr_el3, %function
* TTBR0 accessors
* -----------------------------------------------------
*/
-read_ttbr0: ; .type read_ttbr0, %function
- mrs x0, CurrentEl
- cmp x0, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq read_ttbr0_el1
- cmp x0, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq read_ttbr0_el2
- cmp x0, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq read_ttbr0_el3
-
-
read_ttbr0_el1: ; .type read_ttbr0_el1, %function
mrs x0, ttbr0_el1
ret
@@ -963,16 +675,6 @@ read_ttbr0_el3: ; .type read_ttbr0_el3, %function
ret
-write_ttbr0: ; .type write_ttbr0, %function
- mrs x1, CurrentEl
- cmp x1, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq write_ttbr0_el1
- cmp x1, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq write_ttbr0_el2
- cmp x1, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq write_ttbr0_el3
-
-
write_ttbr0_el1: ; .type write_ttbr0_el1, %function
msr ttbr0_el1, x0
isb
@@ -995,16 +697,6 @@ write_ttbr0_el3: ; .type write_ttbr0_el3, %function
* TTBR1 accessors
* -----------------------------------------------------
*/
-read_ttbr1: ; .type read_ttbr1, %function
- mrs x0, CurrentEl
- cmp x0, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq read_ttbr1_el1
- cmp x0, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq read_ttbr1_el2
- cmp x0, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq read_ttbr1_el3
-
-
read_ttbr1_el1: ; .type read_ttbr1_el1, %function
mrs x0, ttbr1_el1
ret
@@ -1018,16 +710,6 @@ read_ttbr1_el3: ; .type read_ttbr1_el3, %function
b read_ttbr1_el3
-write_ttbr1: ; .type write_ttbr1, %function
- mrs x1, CurrentEl
- cmp x1, #(MODE_EL1 << MODE_EL_SHIFT)
- b.eq write_ttbr1_el1
- cmp x1, #(MODE_EL2 << MODE_EL_SHIFT)
- b.eq write_ttbr1_el2
- cmp x1, #(MODE_EL3 << MODE_EL_SHIFT)
- b.eq write_ttbr1_el3
-
-
write_ttbr1_el1: ; .type write_ttbr1_el1, %function
msr ttbr1_el1, x0
isb