summaryrefslogtreecommitdiff
path: root/lib/arch/aarch64/sysreg_helpers.S
diff options
context:
space:
mode:
Diffstat (limited to 'lib/arch/aarch64/sysreg_helpers.S')
-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 66504194..dfd0f2f1 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