aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mm/proc-v7.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mm/proc-v7.S')
-rw-r--r--arch/arm/mm/proc-v7.S16
1 files changed, 9 insertions, 7 deletions
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
index f3fa1c32fe92..3a285218fd15 100644
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -33,9 +33,11 @@
33#ifndef CONFIG_SMP 33#ifndef CONFIG_SMP
34/* PTWs cacheable, inner WB not shareable, outer WB not shareable */ 34/* PTWs cacheable, inner WB not shareable, outer WB not shareable */
35#define TTB_FLAGS TTB_IRGN_WB|TTB_RGN_OC_WB 35#define TTB_FLAGS TTB_IRGN_WB|TTB_RGN_OC_WB
36#define PMD_FLAGS PMD_SECT_WB
36#else 37#else
37/* PTWs cacheable, inner WBWA shareable, outer WBWA not shareable */ 38/* PTWs cacheable, inner WBWA shareable, outer WBWA not shareable */
38#define TTB_FLAGS TTB_IRGN_WBWA|TTB_S|TTB_NOS|TTB_RGN_OC_WBWA 39#define TTB_FLAGS TTB_IRGN_WBWA|TTB_S|TTB_NOS|TTB_RGN_OC_WBWA
40#define PMD_FLAGS PMD_SECT_WBWA|PMD_SECT_S
39#endif 41#endif
40 42
41ENTRY(cpu_v7_proc_init) 43ENTRY(cpu_v7_proc_init)
@@ -184,9 +186,10 @@ cpu_v7_name:
184 */ 186 */
185__v7_setup: 187__v7_setup:
186#ifdef CONFIG_SMP 188#ifdef CONFIG_SMP
187 mrc p15, 0, r0, c1, c0, 1 @ Enable SMP/nAMP mode and 189 mrc p15, 0, r0, c1, c0, 1
188 orr r0, r0, #(1 << 6) | (1 << 0) @ TLB ops broadcasting 190 tst r0, #(1 << 6) @ SMP/nAMP mode enabled?
189 mcr p15, 0, r0, c1, c0, 1 191 orreq r0, r0, #(1 << 6) | (1 << 0) @ Enable SMP/nAMP mode and
192 mcreq p15, 0, r0, c1, c0, 1 @ TLB ops broadcasting
190#endif 193#endif
191 adr r12, __v7_setup_stack @ the local stack 194 adr r12, __v7_setup_stack @ the local stack
192 stmia r12, {r0-r5, r7, r9, r11, lr} 195 stmia r12, {r0-r5, r7, r9, r11, lr}
@@ -295,7 +298,7 @@ __v7_setup_stack:
295 .type v7_processor_functions, #object 298 .type v7_processor_functions, #object
296ENTRY(v7_processor_functions) 299ENTRY(v7_processor_functions)
297 .word v7_early_abort 300 .word v7_early_abort
298 .word pabort_ifar 301 .word v7_pabort
299 .word cpu_v7_proc_init 302 .word cpu_v7_proc_init
300 .word cpu_v7_proc_fin 303 .word cpu_v7_proc_fin
301 .word cpu_v7_reset 304 .word cpu_v7_reset
@@ -326,10 +329,9 @@ __v7_proc_info:
326 .long 0x000f0000 @ Required ID value 329 .long 0x000f0000 @ Required ID value
327 .long 0x000f0000 @ Mask for ID 330 .long 0x000f0000 @ Mask for ID
328 .long PMD_TYPE_SECT | \ 331 .long PMD_TYPE_SECT | \
329 PMD_SECT_BUFFERABLE | \
330 PMD_SECT_CACHEABLE | \
331 PMD_SECT_AP_WRITE | \ 332 PMD_SECT_AP_WRITE | \
332 PMD_SECT_AP_READ 333 PMD_SECT_AP_READ | \
334 PMD_FLAGS
333 .long PMD_TYPE_SECT | \ 335 .long PMD_TYPE_SECT | \
334 PMD_SECT_XN | \ 336 PMD_SECT_XN | \
335 PMD_SECT_AP_WRITE | \ 337 PMD_SECT_AP_WRITE | \