aboutsummaryrefslogtreecommitdiff
path: root/libgloss/aarch64
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2014-01-24 19:01:15 +0000
committerJeff Johnston <jjohnstn@redhat.com>2014-01-24 19:01:15 +0000
commit0388ee3d90900bf61e33c3adcec4b27be4891974 (patch)
tree3f07ae906c539f6f6ecb57b399f414baf7c0cb94 /libgloss/aarch64
parent76e4f83fc6c68cfe319df5cad0ab7e65cd6eb4e9 (diff)
downloadnewlib-0388ee3d90900bf61e33c3adcec4b27be4891974.zip
newlib-0388ee3d90900bf61e33c3adcec4b27be4891974.tar.gz
newlib-0388ee3d90900bf61e33c3adcec4b27be4891974.tar.bz2
2014-01-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* aarch64/cpu-init/rdimon-aem-el3.S (flat_map): Clear WXN bit in SCTLR_EL3. Add dsb.
Diffstat (limited to 'libgloss/aarch64')
-rw-r--r--libgloss/aarch64/cpu-init/rdimon-aem-el3.S5
1 files changed, 4 insertions, 1 deletions
diff --git a/libgloss/aarch64/cpu-init/rdimon-aem-el3.S b/libgloss/aarch64/cpu-init/rdimon-aem-el3.S
index 6ddf623..4637627 100644
--- a/libgloss/aarch64/cpu-init/rdimon-aem-el3.S
+++ b/libgloss/aarch64/cpu-init/rdimon-aem-el3.S
@@ -138,9 +138,12 @@ _flat_map:
mrs x0, sctlr_el3
ldr x1, =0x100d /* bits I(12) SA(3) C(2) M(0) */
- bic x0, x0, #2 /* clear bit A(1) */
+ bic x0, x0, #(1 << 1) /* clear bit A(1) */
+ mov x2, #(1 << 19) /* clear WXN */
+ bic x0, x0, x2
orr x0, x0, x1 /* set bits */
+ dsb sy
msr sctlr_el3, x0
isb
ret