diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/aarch64/cache_helpers.S | 16 | ||||
-rw-r--r-- | lib/aarch64/cpu_helpers.S | 1 | ||||
-rw-r--r-- | lib/aarch64/misc_helpers.S | 6 | ||||
-rw-r--r-- | lib/aarch64/sysreg_helpers.S | 60 | ||||
-rw-r--r-- | lib/aarch64/tlb_helpers.S | 14 |
5 files changed, 2 insertions, 95 deletions
diff --git a/lib/aarch64/cache_helpers.S b/lib/aarch64/cache_helpers.S index 2649ad0e..dc919751 100644 --- a/lib/aarch64/cache_helpers.S +++ b/lib/aarch64/cache_helpers.S @@ -46,57 +46,41 @@ func dcisw dc isw, x0 - dsb sy - isb ret func dccisw dc cisw, x0 - dsb sy - isb ret func dccsw dc csw, x0 - dsb sy - isb ret func dccvac dc cvac, x0 - dsb sy - isb ret func dcivac dc ivac, x0 - dsb sy - isb ret func dccivac dc civac, x0 - dsb sy - isb ret func dccvau dc cvau, x0 - dsb sy - isb ret func dczva dc zva, x0 - dsb sy - isb ret diff --git a/lib/aarch64/cpu_helpers.S b/lib/aarch64/cpu_helpers.S index 573d0b8b..4e5eb5bd 100644 --- a/lib/aarch64/cpu_helpers.S +++ b/lib/aarch64/cpu_helpers.S @@ -52,5 +52,6 @@ smp_setup_begin: bl read_cpuectlr orr x0, x0, #CPUECTLR_SMP_BIT bl write_cpuectlr + isb smp_setup_end: ret x19 diff --git a/lib/aarch64/misc_helpers.S b/lib/aarch64/misc_helpers.S index e7b23313..c33ade28 100644 --- a/lib/aarch64/misc_helpers.S +++ b/lib/aarch64/misc_helpers.S @@ -187,19 +187,16 @@ func write_spsr func write_spsr_el1 msr spsr_el1, x0 - isb ret func write_spsr_el2 msr spsr_el2, x0 - isb ret func write_spsr_el3 msr spsr_el3, x0 - isb ret @@ -240,19 +237,16 @@ func write_elr func write_elr_el1 msr elr_el1, x0 - isb ret func write_elr_el2 msr elr_el2, x0 - isb ret func write_elr_el3 msr elr_el3, x0 - isb ret diff --git a/lib/aarch64/sysreg_helpers.S b/lib/aarch64/sysreg_helpers.S index 61468f95..1d73ba9e 100644 --- a/lib/aarch64/sysreg_helpers.S +++ b/lib/aarch64/sysreg_helpers.S @@ -201,19 +201,16 @@ func read_vbar_el3 func write_vbar_el1 msr vbar_el1, x0 - isb ret func write_vbar_el2 msr vbar_el2, x0 - isb ret func write_vbar_el3 msr vbar_el3, x0 - isb ret @@ -238,19 +235,16 @@ func read_afsr0_el3 func write_afsr0_el1 msr afsr0_el1, x0 - isb ret func write_afsr0_el2 msr afsr0_el2, x0 - isb ret func write_afsr0_el3 msr afsr0_el3, x0 - isb ret @@ -275,19 +269,16 @@ func read_far_el3 func write_far_el1 msr far_el1, x0 - isb ret func write_far_el2 msr far_el2, x0 - isb ret func write_far_el3 msr far_el3, x0 - isb ret @@ -312,19 +303,16 @@ func read_mair_el3 func write_mair_el1 msr mair_el1, x0 - isb ret func write_mair_el2 msr mair_el2, x0 - isb ret func write_mair_el3 msr mair_el3, x0 - isb ret @@ -349,19 +337,16 @@ func read_amair_el3 func write_amair_el1 msr amair_el1, x0 - isb ret func write_amair_el2 msr amair_el2, x0 - isb ret func write_amair_el3 msr amair_el3, x0 - isb ret @@ -405,19 +390,16 @@ func read_rmr_el3 func write_rmr_el1 msr rmr_el1, x0 - isb ret func write_rmr_el2 msr rmr_el2, x0 - isb ret func write_rmr_el3 msr rmr_el3, x0 - isb ret @@ -442,19 +424,16 @@ func read_afsr1_el3 func write_afsr1_el1 msr afsr1_el1, x0 - isb ret func write_afsr1_el2 msr afsr1_el2, x0 - isb ret func write_afsr1_el3 msr afsr1_el3, x0 - isb ret @@ -479,22 +458,16 @@ func read_sctlr_el3 func write_sctlr_el1 msr sctlr_el1, x0 - dsb sy - isb ret func write_sctlr_el2 msr sctlr_el2, x0 - dsb sy - isb ret func write_sctlr_el3 msr sctlr_el3, x0 - dsb sy - isb ret @@ -519,22 +492,16 @@ func read_actlr_el3 func write_actlr_el1 msr actlr_el1, x0 - dsb sy - isb ret func write_actlr_el2 msr actlr_el2, x0 - dsb sy - isb ret func write_actlr_el3 msr actlr_el3, x0 - dsb sy - isb ret @@ -559,22 +526,16 @@ func read_esr_el3 func write_esr_el1 msr esr_el1, x0 - dsb sy - isb ret func write_esr_el2 msr esr_el2, x0 - dsb sy - isb ret func write_esr_el3 msr esr_el3, x0 - dsb sy - isb ret @@ -599,22 +560,16 @@ func read_tcr_el3 func write_tcr_el1 msr tcr_el1, x0 - dsb sy - isb ret func write_tcr_el2 msr tcr_el2, x0 - dsb sy - isb ret func write_tcr_el3 msr tcr_el3, x0 - dsb sy - isb ret @@ -643,15 +598,11 @@ func write_cptr_el1 func write_cptr_el2 msr cptr_el2, x0 - dsb sy - isb ret func write_cptr_el3 msr cptr_el3, x0 - dsb sy - isb ret @@ -676,19 +627,16 @@ func read_ttbr0_el3 func write_ttbr0_el1 msr ttbr0_el1, x0 - isb ret func write_ttbr0_el2 msr ttbr0_el2, x0 - isb ret func write_ttbr0_el3 msr ttbr0_el3, x0 - isb ret @@ -711,7 +659,6 @@ func read_ttbr1_el3 func write_ttbr1_el1 msr ttbr1_el1, x0 - isb ret @@ -730,8 +677,6 @@ func read_hcr func write_hcr msr hcr_el2, x0 - dsb sy - isb ret @@ -762,8 +707,6 @@ func read_cpuectlr func write_cpuectlr msr CPUECTLR_EL1, x0 - dsb sy - isb ret @@ -789,8 +732,6 @@ func write_cntfrq func write_scr msr scr_el3, x0 - dsb sy - isb ret @@ -818,6 +759,7 @@ func enable_vfp mov x1, #AARCH64_CPTR_TFP bic x0, x0, x1 msr cptr_el3, x0 + isb ret diff --git a/lib/aarch64/tlb_helpers.S b/lib/aarch64/tlb_helpers.S index ec1558b0..8dfae12e 100644 --- a/lib/aarch64/tlb_helpers.S +++ b/lib/aarch64/tlb_helpers.S @@ -41,47 +41,33 @@ func tlbialle1 tlbi alle1 - dsb sy - isb ret func tlbialle1is tlbi alle1is - dsb sy - isb ret func tlbialle2 tlbi alle2 - dsb sy - isb ret func tlbialle2is tlbi alle2is - dsb sy - isb ret func tlbialle3 tlbi alle3 - dsb sy - isb ret func tlbialle3is tlbi alle3is - dsb sy - isb ret func tlbivmalle1 tlbi vmalle1 - dsb sy - isb ret |