summaryrefslogtreecommitdiff
path: root/acsr/helpers.s
diff options
context:
space:
mode:
Diffstat (limited to 'acsr/helpers.s')
-rw-r--r--acsr/helpers.s446
1 files changed, 223 insertions, 223 deletions
diff --git a/acsr/helpers.s b/acsr/helpers.s
index 0c92511..1a7fba4 100644
--- a/acsr/helpers.s
+++ b/acsr/helpers.s
@@ -1,26 +1,26 @@
;
; Copyright (c) 2012, ARM Limited. All rights reserved.
- ;
+ ;
; Redistribution and use in source and binary forms, with
; or without modification, are permitted provided that the
; following conditions are met:
- ;
+ ;
; Redistributions of source code must retain the above
- ; copyright notice, this list of conditions and the
+ ; copyright notice, this list of conditions and the
; following disclaimer.
;
; Redistributions in binary form must reproduce the
- ; above copyright notice, this list of conditions and
- ; the following disclaimer in the documentation
+ ; above copyright notice, this list of conditions and
+ ; the following disclaimer in the documentation
; and/or other materials provided with the distribution.
- ;
+ ;
; Neither the name of ARM nor the names of its
; contributors may be used to endorse or promote products
; derived from this software without specific prior written
- ; permission.
- ;
+ ; permission.
+ ;
- EXPORT isb
+ EXPORT isb
EXPORT dsb
EXPORT dmb
EXPORT wfi
@@ -33,25 +33,25 @@
EXPORT get_cpu_type
EXPORT va_to_pa
- EXPORT read_cbar
+ EXPORT read_cbar
EXPORT read_sctlr
EXPORT read_actlr
EXPORT read_prrr
EXPORT read_nmrr
EXPORT read_l2ctlr
EXPORT read_dacr
- EXPORT read_ttbr0
- EXPORT read_cpacr
+ EXPORT read_ttbr0
+ EXPORT read_cpacr
EXPORT read_scr
EXPORT read_cpsr
EXPORT read_midr
- EXPORT read_mpidr
- EXPORT read_cntpct
- EXPORT read_cntfrq
+ EXPORT read_mpidr
+ EXPORT read_cntpct
+ EXPORT read_cntfrq
EXPORT read_vmpidr
- EXPORT read_vmidr
+ EXPORT read_vmidr
EXPORT read_vttbr
- EXPORT read_httbr
+ EXPORT read_httbr
EXPORT read_id_pfr0
EXPORT read_id_pfr1
EXPORT read_id_dfr0
@@ -59,20 +59,20 @@
EXPORT read_id_mmfr0
EXPORT read_id_mmfr1
EXPORT read_id_mmfr2
- EXPORT read_id_mmfr3
+ EXPORT read_id_mmfr3
EXPORT read_id_isar0
EXPORT read_id_isar1
EXPORT read_id_isar2
EXPORT read_id_isar3
EXPORT read_id_isar4
- EXPORT read_id_isar5
+ EXPORT read_id_isar5
EXPORT read_cpuid
- EXPORT read_aidr
+ EXPORT read_aidr
EXPORT read_ctr
EXPORT read_tcmtr
EXPORT read_tlbtr
EXPORT read_clusterid
- EXPORT read_l2ctlr
+ EXPORT read_l2ctlr
EXPORT read_hsctlr
EXPORT read_hdfar
EXPORT read_hpfar
@@ -80,22 +80,22 @@
EXPORT read_hcr
EXPORT read_hdcr
EXPORT read_hcptr
- EXPORT read_hstr
+ EXPORT read_hstr
EXPORT read_cnthctl
- EXPORT read_cntkctl
+ EXPORT read_cntkctl
EXPORT read_cntp_ctl
- EXPORT read_cntp_tval
+ EXPORT read_cntp_tval
EXPORT read_cnthp_ctl
EXPORT read_cnthp_tval
- EXPORT read_cnthp_cval
+ EXPORT read_cnthp_cval
EXPORT read_ttbcr
EXPORT read_nsacr
- EXPORT read_clidr
+ EXPORT read_clidr
EXPORT read_csselr
EXPORT read_ccsidr
EXPORT read_nmrr
EXPORT read_prrr
- EXPORT read_mvbar
+ EXPORT read_mvbar
EXPORT read_vbar
EXPORT read_hsr
EXPORT read_dfar
@@ -103,53 +103,53 @@
EXPORT read_dfsr
EXPORT read_ifsr
EXPORT read_adfsr
- EXPORT read_aifsr
- EXPORT read_l2ectlr
- EXPORT read_pmuserenr
- EXPORT read_pmintenset
- EXPORT read_pmintenclr
- EXPORT read_pmovsset
- EXPORT read_pmccntr
- EXPORT read_pmxevtyper
- EXPORT read_pmxevcntr
- EXPORT read_pmcr
- EXPORT read_pmcntenset
- EXPORT read_pmcntenclr
- EXPORT read_pmovsr
- EXPORT read_pmswinc
- EXPORT read_pmselr
- EXPORT read_pmceid0
- EXPORT read_pmceid1
-
- EXPORT write_l2ectlr
- EXPORT write_pmuserenr
- EXPORT write_pmintenset
- EXPORT write_pmintenclr
- EXPORT write_pmovsset
- EXPORT write_pmccntr
- EXPORT write_pmxevtyper
- EXPORT write_pmxevcntr
- EXPORT write_pmcr
- EXPORT write_pmcntenset
- EXPORT write_pmcntenclr
- EXPORT write_pmovsr
- EXPORT write_pmswinc
- EXPORT write_pmselr
- EXPORT write_pmceid0
- EXPORT write_pmceid1
+ EXPORT read_aifsr
+ EXPORT read_l2ectlr
+ EXPORT read_pmuserenr
+ EXPORT read_pmintenset
+ EXPORT read_pmintenclr
+ EXPORT read_pmovsset
+ EXPORT read_pmccntr
+ EXPORT read_pmxevtyper
+ EXPORT read_pmxevcntr
+ EXPORT read_pmcr
+ EXPORT read_pmcntenset
+ EXPORT read_pmcntenclr
+ EXPORT read_pmovsr
+ EXPORT read_pmswinc
+ EXPORT read_pmselr
+ EXPORT read_pmceid0
+ EXPORT read_pmceid1
+
+ EXPORT write_l2ectlr
+ EXPORT write_pmuserenr
+ EXPORT write_pmintenset
+ EXPORT write_pmintenclr
+ EXPORT write_pmovsset
+ EXPORT write_pmccntr
+ EXPORT write_pmxevtyper
+ EXPORT write_pmxevcntr
+ EXPORT write_pmcr
+ EXPORT write_pmcntenset
+ EXPORT write_pmcntenclr
+ EXPORT write_pmovsr
+ EXPORT write_pmswinc
+ EXPORT write_pmselr
+ EXPORT write_pmceid0
+ EXPORT write_pmceid1
EXPORT write_dacr
EXPORT write_prrr
- EXPORT write_nmrr
+ EXPORT write_nmrr
EXPORT write_ttbr0
EXPORT write_cpacr
EXPORT write_nsacr
EXPORT write_scr
EXPORT write_mvbar
EXPORT write_vbar
- EXPORT write_hvbar
+ EXPORT write_hvbar
EXPORT write_vmpidr
- EXPORT write_vmidr
- EXPORT write_csselr
+ EXPORT write_vmidr
+ EXPORT write_csselr
EXPORT write_hcr
EXPORT write_hdcr
EXPORT write_hcptr
@@ -157,29 +157,29 @@
EXPORT write_sctlr
EXPORT write_actlr
EXPORT write_ttbcr
- EXPORT write_cntfrq
+ EXPORT write_cntfrq
EXPORT write_cnthctl
- EXPORT write_cntkctl
+ EXPORT write_cntkctl
EXPORT write_cntp_ctl
- EXPORT write_cntp_tval
+ EXPORT write_cntp_tval
EXPORT write_cnthp_ctl
EXPORT write_cnthp_tval
- EXPORT write_cnthp_cval
+ EXPORT write_cnthp_cval
EXPORT write_hsctlr
EXPORT write_httbr
- EXPORT write_vttbr
+ EXPORT write_vttbr
EXPORT write_htcr
- EXPORT write_vtcr
- EXPORT write_hmair0
+ EXPORT write_vtcr
+ EXPORT write_hmair0
EXPORT write_hmair1
EXPORT write_dfar
EXPORT write_ifar
EXPORT write_dfsr
EXPORT write_ifsr
EXPORT write_adfsr
- EXPORT write_aifsr
-
-
+ EXPORT write_aifsr
+
+
MIDR_CPU_MASK EQU 0xff00fff0
AREA ACSR, CODE, ALIGN=5
@@ -194,7 +194,7 @@ wfi FUNCTION
wfi
bx lr
ENDFUNC
-
+
; WFI forever, and attempt to prevent speculative accesses starting
; FIQ and IRQ are assumed to be disabled
endless_wfi FUNCTION
@@ -234,8 +234,8 @@ copy_words FUNCTION
bne %b0
1 bx lr
ENDFUNC
-
-
+
+
appf_memcpy FUNCTION
cmp r2, #0
bxeq lr
@@ -264,26 +264,26 @@ write_cntfrq FUNCTION
mcr p15, 0, r0, c14, c0, 0
bx lr
ENDFUNC
-
+
read_cntpct FUNCTION
mrrc p15, 0, r0, r1, c14
bx lr
ENDFUNC
-
+
isb FUNCTION
isb
bx lr
- ENDFUNC
+ ENDFUNC
read_vmpidr FUNCTION
mrc p15, 4, r0, c0, c0, 5
bx lr
ENDFUNC
-
+
read_vmidr FUNCTION
mrc p15, 4, r0, c0, c0, 0
bx lr
- ENDFUNC
+ ENDFUNC
read_id_pfr0 FUNCTION
mrc p15, 0, r0, c0, c1, 0
@@ -299,12 +299,12 @@ read_id_dfr0 FUNCTION
mrc p15, 0, r0, c0, c1, 2
bx lr
ENDFUNC
-
+
read_id_afr0 FUNCTION
mrc p15, 0, r0, c0, c1, 3
bx lr
ENDFUNC
-
+
read_id_mmfr0 FUNCTION
mrc p15, 0, r0, c0, c1, 4
bx lr
@@ -314,17 +314,17 @@ read_id_mmfr1 FUNCTION
mrc p15, 0, r0, c0, c1, 5
bx lr
ENDFUNC
-
+
read_id_mmfr2 FUNCTION
mrc p15, 0, r0, c0, c1, 6
bx lr
- ENDFUNC
+ ENDFUNC
read_id_mmfr3 FUNCTION
mrc p15, 0, r0, c0, c1, 7
bx lr
ENDFUNC
-
+
read_id_isar0 FUNCTION
mrc p15, 0, r0, c0, c2, 0
bx lr
@@ -334,17 +334,17 @@ read_id_isar1 FUNCTION
mrc p15, 0, r0, c0, c2, 1
bx lr
ENDFUNC
-
+
read_id_isar2 FUNCTION
mrc p15, 0, r0, c0, c2, 2
bx lr
ENDFUNC
-
+
read_id_isar3 FUNCTION
mrc p15, 0, r0, c0, c2, 3
bx lr
ENDFUNC
-
+
read_id_isar4 FUNCTION
mrc p15, 0, r0, c0, c2, 4
bx lr
@@ -353,8 +353,8 @@ read_id_isar4 FUNCTION
read_id_isar5 FUNCTION
mrc p15, 0, r0, c0, c2, 5
bx lr
- ENDFUNC
-
+ ENDFUNC
+
read_ctr FUNCTION
mrc p15, 0, r0, c0, c0, 1
bx lr
@@ -368,12 +368,12 @@ read_tcmtr FUNCTION
read_tlbtr FUNCTION
mrc p15, 0, r0, c0, c0, 3
bx lr
- ENDFUNC
-
+ ENDFUNC
+
read_aidr FUNCTION
mrc p15, 1, r0, c0, c0, 7
bx lr
- ENDFUNC
+ ENDFUNC
read_dacr FUNCTION
mrc p15, 0, r0, c3, c0, 0
@@ -395,7 +395,7 @@ read_cpacr FUNCTION
mrc p15, 0, r0, c1, c0, 2
bx lr
ENDFUNC
-
+
write_cpacr FUNCTION
mcr p15, 0, r0, c1, c0, 2
bx lr
@@ -419,7 +419,7 @@ read_scr FUNCTION
write_scr FUNCTION
mcr p15, 0, r0, c1, c1, 0
dsb
- isb
+ isb
bx lr
ENDFUNC
@@ -441,32 +441,32 @@ write_mvbar FUNCTION
ENDFUNC
write_vbar FUNCTION
- mcr p15, 0, r0, c12, c0, 0
+ mcr p15, 0, r0, c12, c0, 0
bx lr
ENDFUNC
write_hvbar FUNCTION
- mcr p15, 4, r0, c12, c0, 0
+ mcr p15, 4, r0, c12, c0, 0
bx lr
- ENDFUNC
+ ENDFUNC
read_mvbar FUNCTION
mrc p15, 0, r0, c12, c0, 1
bx lr
ENDFUNC
-
+
read_vbar FUNCTION
- mrc p15, 0, r0, c12, c0, 0
+ mrc p15, 0, r0, c12, c0, 0
bx lr
ENDFUNC
-
+
read_cpuid FUNCTION
mrc p15, 0, r0, c0, c0, 5
ands r0, r0, #0xf
bx lr
ENDFUNC
-read_clusterid FUNCTION
+read_clusterid FUNCTION
mrc p15, 0, r0, c0, c0, 5
lsr r0, r0, #0x8
ands r0, r0, #0xf
@@ -478,32 +478,32 @@ write_ttbr0 FUNCTION
mcr p15, 0, r0, c7, c5, 6
mcr p15, 0, r0, c8, c7, 0
dsb
- isb
+ isb
bx lr
ENDFUNC
read_ttbcr FUNCTION
mrc p15, 0, r0, c2, c0, 2
bx lr
- ENDFUNC
-
+ ENDFUNC
+
write_ttbcr FUNCTION
mcr p15, 0, r0, c2, c0, 2
bx lr
- ENDFUNC
+ ENDFUNC
write_vmpidr FUNCTION
mcr p15, 4, r0, c0, c0, 5
isb
bx lr
ENDFUNC
-
+
write_vmidr FUNCTION
mcr p15, 4, r0, c0, c0, 0
isb
bx lr
- ENDFUNC
-
+ ENDFUNC
+
read_vtcr FUNCTION
mrc p15, 4, r0, c2, c1, 2
bx lr
@@ -518,16 +518,16 @@ read_hdcr FUNCTION
mrc p15, 4, r0, c1, c1, 1
bx lr
ENDFUNC
-
+
read_hcptr FUNCTION
mrc p15, 4, r0, c1, c1, 2
bx lr
ENDFUNC
-
+
read_hstr FUNCTION
mrc p15, 4, r0, c1, c1, 3
bx lr
- ENDFUNC
+ ENDFUNC
read_httbr FUNCTION
mrrc p15, 4, r0, r1, c2
@@ -537,25 +537,25 @@ read_httbr FUNCTION
read_vttbr FUNCTION
mrrc p15, 6, r0, r1, c2
bx lr
- ENDFUNC
-
+ ENDFUNC
+
write_hcr FUNCTION
mcr p15, 4, r0, c1, c1, 0
dsb
- isb
+ isb
bx lr
ENDFUNC
write_hdcr FUNCTION
mcr p15, 4, r0, c1, c1, 1
bx lr
- ENDFUNC
-
+ ENDFUNC
+
write_hcptr FUNCTION
mcr p15, 4, r0, c1, c1, 2
bx lr
- ENDFUNC
-
+ ENDFUNC
+
write_hstr FUNCTION
mcr p15, 4, r0, c1, c1, 3
bx lr
@@ -566,7 +566,7 @@ write_httbr FUNCTION
mcr p15, 0, r0, c7, c5, 6
mcr p15, 0, r0, c8, c7, 0
dsb
- isb
+ isb
bx lr
ENDFUNC
@@ -575,10 +575,10 @@ write_vttbr FUNCTION
mcr p15, 0, r0, c7, c5, 6
mcr p15, 0, r0, c8, c7, 0
dsb
- isb
+ isb
bx lr
- ENDFUNC
-
+ ENDFUNC
+
write_htcr FUNCTION
mcr p15, 4, r0, c2, c0, 2
bx lr
@@ -587,7 +587,7 @@ write_htcr FUNCTION
write_vtcr FUNCTION
mcr p15, 4, r0, c2, c1, 2
bx lr
- ENDFUNC
+ ENDFUNC
write_hmair0 FUNCTION
mcr p15, 4, r0, c10, c2, 0
@@ -597,20 +597,20 @@ write_hmair0 FUNCTION
write_hmair1 FUNCTION
mcr p15, 4, r0, c10, c2, 1
bx lr
- ENDFUNC
-
+ ENDFUNC
+
read_nsacr FUNCTION
mrc p15, 0, r0, c1, c1, 2
bx lr
ENDFUNC
read_l2ctlr FUNCTION
- mrc p15, 1, r0, c9, c0, 2
+ mrc p15, 1, r0, c9, c0, 2
bx lr
ENDFUNC
read_l2ectlr FUNCTION
- mrc p15, 1, r0, c9, c0, 3
+ mrc p15, 1, r0, c9, c0, 3
bx lr
ENDFUNC
@@ -618,71 +618,71 @@ read_pmuserenr FUNCTION
mrc p15, 0, r0, c9, c14, 0
bx lr
ENDFUNC
-
+
read_pmintenset FUNCTION
mrc p15, 0, r0, c9, c14, 1
bx lr
- ENDFUNC
+ ENDFUNC
read_pmintenclr FUNCTION
mrc p15, 0, r0, c9, c14, 2
bx lr
ENDFUNC
-
+
read_pmovsset FUNCTION
mrc p15, 0, r0, c9, c14, 3
bx lr
ENDFUNC
-
+
read_pmccntr FUNCTION
mrc p15, 0, r0, c9, c13, 0
bx lr
ENDFUNC
-
+
read_pmxevtyper FUNCTION
mrc p15, 0, r0, c9, c13, 1
bx lr
ENDFUNC
-
+
read_pmxevcntr FUNCTION
mrc p15, 0, r0, c9, c13, 2
bx lr
ENDFUNC
-
+
read_pmcr FUNCTION
mrc p15, 0, r0, c9, c12, 0
bx lr
ENDFUNC
-
+
read_pmcntenset FUNCTION
mrc p15, 0, r0, c9, c12, 1
bx lr
ENDFUNC
-
+
read_pmcntenclr FUNCTION
mrc p15, 0, r0, c9, c12, 2
bx lr
ENDFUNC
-
+
read_pmovsr FUNCTION
mrc p15, 0, r0, c9, c12, 3
bx lr
ENDFUNC
-
+
read_pmswinc FUNCTION
mrc p15, 0, r0, c9, c12, 4
bx lr
ENDFUNC
-
+
read_pmselr FUNCTION
mrc p15, 0, r0, c9, c12, 5
bx lr
ENDFUNC
-
+
read_pmceid0 FUNCTION
mrc p15, 0, r0, c9, c12, 6
bx lr
- ENDFUNC
+ ENDFUNC
read_pmceid1 FUNCTION
mrc p15, 0, r0, c9, c12, 7
@@ -690,7 +690,7 @@ read_pmceid1 FUNCTION
ENDFUNC
write_l2ectlr FUNCTION
- mcr p15, 1, r0, c9, c0, 3
+ mcr p15, 1, r0, c9, c0, 3
bx lr
ENDFUNC
@@ -698,78 +698,78 @@ write_pmuserenr FUNCTION
mcr p15, 0, r0, c9, c14, 0
bx lr
ENDFUNC
-
+
write_pmintenset FUNCTION
mcr p15, 0, r0, c9, c14, 1
bx lr
- ENDFUNC
+ ENDFUNC
write_pmintenclr FUNCTION
mcr p15, 0, r0, c9, c14, 2
bx lr
ENDFUNC
-
+
write_pmovsset FUNCTION
mcr p15, 0, r0, c9, c14, 3
bx lr
ENDFUNC
-
+
write_pmccntr FUNCTION
mcr p15, 0, r0, c9, c13, 0
bx lr
ENDFUNC
-
+
write_pmxevtyper FUNCTION
mcr p15, 0, r0, c9, c13, 1
bx lr
ENDFUNC
-
+
write_pmxevcntr FUNCTION
mcr p15, 0, r0, c9, c13, 2
bx lr
ENDFUNC
-
+
write_pmcr FUNCTION
mcr p15, 0, r0, c9, c12, 0
bx lr
ENDFUNC
-
+
write_pmcntenset FUNCTION
mcr p15, 0, r0, c9, c12, 1
bx lr
ENDFUNC
-
+
write_pmcntenclr FUNCTION
mcr p15, 0, r0, c9, c12, 2
bx lr
ENDFUNC
-
+
write_pmovsr FUNCTION
mcr p15, 0, r0, c9, c12, 3
bx lr
ENDFUNC
-
+
write_pmswinc FUNCTION
mcr p15, 0, r0, c9, c12, 4
bx lr
ENDFUNC
-
+
write_pmselr FUNCTION
mcr p15, 0, r0, c9, c12, 5
bx lr
ENDFUNC
-
+
write_pmceid0 FUNCTION
mcr p15, 0, r0, c9, c12, 6
bx lr
- ENDFUNC
+ ENDFUNC
write_pmceid1 FUNCTION
mcr p15, 0, r0, c9, c12, 7
bx lr
- ENDFUNC
-
-read_sctlr FUNCTION
+ ENDFUNC
+
+read_sctlr FUNCTION
mrc p15, 0, r0, c1, c0, 0
bx lr
ENDFUNC
@@ -781,18 +781,18 @@ write_sctlr FUNCTION
bx lr
ENDFUNC
-read_hsctlr FUNCTION
+read_hsctlr FUNCTION
mrc p15, 4, r0, c1, c0, 0
bx lr
ENDFUNC
read_hdfar FUNCTION
- mrc p15, 4, r0, c6, c0, 0
+ mrc p15, 4, r0, c6, c0, 0
bx lr
ENDFUNC
-
+
read_hpfar FUNCTION
- mrc p15, 4, r0, c6, c0, 4
+ mrc p15, 4, r0, c6, c0, 4
bx lr
ENDFUNC
@@ -804,10 +804,10 @@ read_hsr FUNCTION
write_hsctlr FUNCTION
mcr p15, 4, r0, c1, c0, 0
dsb
- isb
+ isb
bx lr
ENDFUNC
-
+
read_cnthctl FUNCTION
mrc p15, 4, r0, c14, c1, 0
bx lr
@@ -816,7 +816,7 @@ read_cnthctl FUNCTION
read_cntkctl FUNCTION
mrc p15, 0, r0, c14, c1, 0
bx lr
- ENDFUNC
+ ENDFUNC
read_cnthp_cval FUNCTION
mrrc p15, 6, r0, r1, c14
@@ -832,16 +832,16 @@ read_cntp_tval FUNCTION
mrc p15, 0, r0, c14, c2, 0
bx lr
ENDFUNC
-
+
read_cntp_ctl FUNCTION
mrc p15, 0, r0, c14, c2, 1
bx lr
- ENDFUNC
-
+ ENDFUNC
+
read_cnthp_ctl FUNCTION
mrc p15, 4, r0, c14, c2, 1
bx lr
- ENDFUNC
+ ENDFUNC
write_cnthctl FUNCTION
mcr p15, 4, r0, c14, c1, 0
@@ -851,65 +851,65 @@ write_cnthctl FUNCTION
write_cntkctl FUNCTION
mcr p15, 0, r0, c14, c1, 0
bx lr
- ENDFUNC
+ ENDFUNC
write_cntp_tval FUNCTION
mcr p15, 0, r0, c14, c2, 0
isb
bx lr
- ENDFUNC
-
+ ENDFUNC
+
write_cntp_ctl FUNCTION
mcr p15, 0, r0, c14, c2, 1
dsb
- isb
+ isb
bx lr
- ENDFUNC
-
+ ENDFUNC
+
write_cnthp_cval FUNCTION
mcrr p15, 6, r0, r1, c14
dsb
- isb
+ isb
bx lr
ENDFUNC
write_cnthp_tval FUNCTION
mcr p15, 4, r0, c14, c2, 0
dsb
- isb
+ isb
bx lr
ENDFUNC
-
+
write_cnthp_ctl FUNCTION
mcr p15, 4, r0, c14, c2, 1
dsb
- isb
+ isb
bx lr
- ENDFUNC
-
-read_clidr FUNCTION
+ ENDFUNC
+
+read_clidr FUNCTION
mrc p15, 1, r0, c0, c0, 1 ; read clidr
bx lr
ENDFUNC
-read_ccsidr FUNCTION
+read_ccsidr FUNCTION
mrc p15, 1, r0, c0, c0, 0 ; read ccsidr
bx lr
ENDFUNC
-read_csselr FUNCTION
+read_csselr FUNCTION
mrc p15, 2, r0, c0, c0, 0 ; read csselr
bx lr
- ENDFUNC
-
-write_csselr FUNCTION
+ ENDFUNC
+
+write_csselr FUNCTION
mcr p15, 2, r0, c0, c0, 0 ; read csselr
dsb
- isb
+ isb
bx lr
- ENDFUNC
-
-read_actlr FUNCTION
+ ENDFUNC
+
+read_actlr FUNCTION
mrc p15, 0, r0, c1, c0, 1
bx lr
ENDFUNC
@@ -917,64 +917,64 @@ read_actlr FUNCTION
write_actlr FUNCTION
mcr p15, 0, r0, c1, c0, 1
dsb
- isb
+ isb
bx lr
ENDFUNC
-read_prrr FUNCTION
+read_prrr FUNCTION
mrc p15, 0, r0, c10, c2, 0
bx lr
ENDFUNC
-read_nmrr FUNCTION
+read_nmrr FUNCTION
mrc p15, 0, r0, c10, c2, 1
bx lr
ENDFUNC
-write_prrr FUNCTION
+write_prrr FUNCTION
mcr p15, 0, r0, c10, c2, 0
dsb
- isb
+ isb
bx lr
ENDFUNC
-write_nmrr FUNCTION
+write_nmrr FUNCTION
mcr p15, 0, r0, c10, c2, 1
dsb
- isb
+ isb
bx lr
- ENDFUNC
+ ENDFUNC
read_dfar FUNCTION
mrc p15, 0, r0, c6, c0, 0
bx lr
ENDFUNC
-
+
read_ifar FUNCTION
- mrc p15, 0, r0, c6, c0, 2
+ mrc p15, 0, r0, c6, c0, 2
bx lr
ENDFUNC
-
+
read_dfsr FUNCTION
- mrc p15, 0, r0, c5, c0, 0
+ mrc p15, 0, r0, c5, c0, 0
bx lr
ENDFUNC
-
+
read_ifsr FUNCTION
- mrc p15, 0, r0, c5, c0, 1
+ mrc p15, 0, r0, c5, c0, 1
bx lr
ENDFUNC
-
+
read_adfsr FUNCTION
mrc p15, 0, r0, c5, c1, 0
bx lr
ENDFUNC
-
+
read_aifsr FUNCTION
- mrc p15, 0, r0, c5, c1, 1
+ mrc p15, 0, r0, c5, c1, 1
bx lr
ENDFUNC
-
+
write_dfar FUNCTION
mcr p15, 0, r0, c6, c0, 0
dsb
@@ -985,38 +985,38 @@ write_dfar FUNCTION
write_ifar FUNCTION
mcr p15, 0, r0, c6, c0, 2
dsb
- isb
+ isb
bx lr
ENDFUNC
write_dfsr FUNCTION
mcr p15, 0, r0, c5, c0, 0
dsb
- isb
+ isb
bx lr
ENDFUNC
write_ifsr FUNCTION
mcr p15, 0, r0, c5, c0, 1
dsb
- isb
+ isb
bx lr
ENDFUNC
-
+
write_adfsr FUNCTION
mcr p15, 0, r0, c5, c1, 0
dsb
- isb
+ isb
bx lr
ENDFUNC
-
+
write_aifsr FUNCTION
mcr p15, 0, r0, c5, c1, 1
dsb
- isb
+ isb
bx lr
ENDFUNC
-
+
read_cbar FUNCTION
mrc p15, 4, r0, c15, c0, 0 ; Read Configuration Base Address Register
bx lr
@@ -1033,7 +1033,7 @@ dsb FUNCTION
dsb
bx lr
ENDFUNC
-
+
va_to_pa FUNCTION ; Note: assumes conversion will be successful!
mov r1, r0
mcr p15, 0, r0, c7, c8, 1 ; Priv Write Current World VA-PA