diff options
Diffstat (limited to 'arch/arm/mm/proc-v7.S')
-rw-r--r-- | arch/arm/mm/proc-v7.S | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S index 180a08d03a03..f3fa1c32fe92 100644 --- a/arch/arm/mm/proc-v7.S +++ b/arch/arm/mm/proc-v7.S | |||
@@ -127,7 +127,9 @@ ENDPROC(cpu_v7_switch_mm) | |||
127 | */ | 127 | */ |
128 | ENTRY(cpu_v7_set_pte_ext) | 128 | ENTRY(cpu_v7_set_pte_ext) |
129 | #ifdef CONFIG_MMU | 129 | #ifdef CONFIG_MMU |
130 | str r1, [r0], #-2048 @ linux version | 130 | ARM( str r1, [r0], #-2048 ) @ linux version |
131 | THUMB( str r1, [r0] ) @ linux version | ||
132 | THUMB( sub r0, r0, #2048 ) | ||
131 | 133 | ||
132 | bic r3, r1, #0x000003f0 | 134 | bic r3, r1, #0x000003f0 |
133 | bic r3, r3, #PTE_TYPE_MASK | 135 | bic r3, r3, #PTE_TYPE_MASK |
@@ -232,7 +234,6 @@ __v7_setup: | |||
232 | mcr p15, 0, r4, c2, c0, 1 @ load TTB1 | 234 | mcr p15, 0, r4, c2, c0, 1 @ load TTB1 |
233 | mov r10, #0x1f @ domains 0, 1 = manager | 235 | mov r10, #0x1f @ domains 0, 1 = manager |
234 | mcr p15, 0, r10, c3, c0, 0 @ load domain access register | 236 | mcr p15, 0, r10, c3, c0, 0 @ load domain access register |
235 | #endif | ||
236 | /* | 237 | /* |
237 | * Memory region attributes with SCTLR.TRE=1 | 238 | * Memory region attributes with SCTLR.TRE=1 |
238 | * | 239 | * |
@@ -265,6 +266,7 @@ __v7_setup: | |||
265 | ldr r6, =0x40e040e0 @ NMRR | 266 | ldr r6, =0x40e040e0 @ NMRR |
266 | mcr p15, 0, r5, c10, c2, 0 @ write PRRR | 267 | mcr p15, 0, r5, c10, c2, 0 @ write PRRR |
267 | mcr p15, 0, r6, c10, c2, 1 @ write NMRR | 268 | mcr p15, 0, r6, c10, c2, 1 @ write NMRR |
269 | #endif | ||
268 | adr r5, v7_crval | 270 | adr r5, v7_crval |
269 | ldmia r5, {r5, r6} | 271 | ldmia r5, {r5, r6} |
270 | #ifdef CONFIG_CPU_ENDIAN_BE8 | 272 | #ifdef CONFIG_CPU_ENDIAN_BE8 |
@@ -273,6 +275,7 @@ __v7_setup: | |||
273 | mrc p15, 0, r0, c1, c0, 0 @ read control register | 275 | mrc p15, 0, r0, c1, c0, 0 @ read control register |
274 | bic r0, r0, r5 @ clear bits them | 276 | bic r0, r0, r5 @ clear bits them |
275 | orr r0, r0, r6 @ set them | 277 | orr r0, r0, r6 @ set them |
278 | THUMB( orr r0, r0, #1 << 30 ) @ Thumb exceptions | ||
276 | mov pc, lr @ return to head.S:__ret | 279 | mov pc, lr @ return to head.S:__ret |
277 | ENDPROC(__v7_setup) | 280 | ENDPROC(__v7_setup) |
278 | 281 | ||