]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
ARMv7: Check whether the SMP/nAMP mode was already enabled
authorTony Thompson <Anthony.Thompson@arm.com>
Wed, 4 Nov 2009 12:16:38 +0000 (12:16 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Wed, 4 Nov 2009 12:19:22 +0000 (12:19 +0000)
If running in non-secure mode, enabling this register will fault.

Signed-off-by: Tony Thompson <Anthony.Thompson@arm.com>
Acked-by: Srinidhi Kasagar <srinidhikasagar@gmail.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm/mm/proc-v7.S

index eeeed01ee44a82a74235e927f155cce7b32e7830..3a285218fd158ae56908c2d1a69d86181b529765 100644 (file)
@@ -186,9 +186,10 @@ cpu_v7_name:
  */
 __v7_setup:
 #ifdef CONFIG_SMP
-       mrc     p15, 0, r0, c1, c0, 1           @ Enable SMP/nAMP mode and
-       orr     r0, r0, #(1 << 6) | (1 << 0)    @ TLB ops broadcasting
-       mcr     p15, 0, r0, c1, c0, 1
+       mrc     p15, 0, r0, c1, c0, 1
+       tst     r0, #(1 << 6)                   @ SMP/nAMP mode enabled?
+       orreq   r0, r0, #(1 << 6) | (1 << 0)    @ Enable SMP/nAMP mode and
+       mcreq   p15, 0, r0, c1, c0, 1           @ TLB ops broadcasting
 #endif
        adr     r12, __v7_setup_stack           @ the local stack
        stmia   r12, {r0-r5, r7, r9, r11, lr}