Module Name:    src
Committed By:   skrll
Date:           Mon Sep 15 19:02:38 UTC 2014

Modified Files:
        src/sys/arch/arm/cortex: a9_mpsubr.S

Log Message:
Don't set CORTEXA9_AUXCTL_FW on A7. It's undefined.

Misc. cleanup while I'm here.


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/arm/cortex/a9_mpsubr.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/cortex/a9_mpsubr.S
diff -u src/sys/arch/arm/cortex/a9_mpsubr.S:1.20 src/sys/arch/arm/cortex/a9_mpsubr.S:1.21
--- src/sys/arch/arm/cortex/a9_mpsubr.S:1.20	Mon Sep 15 11:49:01 2014
+++ src/sys/arch/arm/cortex/a9_mpsubr.S	Mon Sep 15 19:02:38 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: a9_mpsubr.S,v 1.20 2014/09/15 11:49:01 ryo Exp $	*/
+/*	$NetBSD: a9_mpsubr.S,v 1.21 2014/09/15 19:02:38 skrll Exp $	*/
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -443,26 +443,29 @@ cortex_init:
 	mcr	p15, 0, r1, c8, c7, 0	// TLBIALL (just this core)
 #endif
 
+#if defined(MULTIPROCESSOR)
+#if defined(CPU_CORTEXA5) || defined(CPU_CORTEXA7) || defined(CPU_CORTEXA9)
 	//
-	// Step 4b, set ACTLR.SMP=1
+	// Step 4a, set ACTLR.SMP=1
 	//
 	mrc	p15, 0, r0, c1, c0, 1		// ACTLR read
 	orr	r0, r0, #CORTEXA9_AUXCTL_SMP	// enable SMP
-	mcr	p15, 0, r0, c1, c0, 1		// ACTLR write
-	isb
 
-#if defined(MULTIPROCESSOR) && (defined(CPU_CORTEXA5) || defined(CPU_CORTEXA7) || defined(CPU_CORTEXA9))
+#if defined(CPU_CORTEXA5) || defined(CPU_CORTEXA9)
 	//
-	// Step 4b (continued on A5/A9), ACTRL.FW=1)
+	// Step 4a (continued on A5/A9), ACTLR.FW=1)
 	//
 	orr	r0, r0, #CORTEXA9_AUXCTL_FW	// enable cache/tlb/coherency
-	mcr	p15, 0, r0, c1, c0, 1		// ACTRL write
+#endif	/* A5 || A9 */
+
+	mcr	p15, 0, r0, c1, c0, 1		// ACTLR write
 	isb
 	dsb
-#endif
+#endif	/* A5 || A7 || A9 */
+#endif	/* MULTIPROCESSOR */
 
 	//
-	// Step 4a, resoter SCTRL (enable the data cache)
+	// Step 4b, restore SCTRL (enable the data cache)
 	//
 	orr	r4, r4, #CPU_CONTROL_IC_ENABLE	// enable icache
 	orr	r4, r4, #CPU_CONTROL_DC_ENABLE	// enable dcache
@@ -509,7 +512,7 @@ cortex_mpstart:
 
 #if 0
 	mrc	p15, 0, r0, c1, c1, 2		// NSACR read
-	// Allow non-secure access to ACTRL[SMP]
+	// Allow non-secure access to ACTLR[SMP]
 	orr	r0, r0, #NSACR_SMP
 #ifdef FPU_VFP
 	// Allow non-secure access to VFP/Neon

Reply via email to