Index: kernel/arch/sparc64/src/mm/tlb.c
===================================================================
--- kernel/arch/sparc64/src/mm/tlb.c	(revision 00b38a3225eae97d519c8185a42202d226dd8513)
+++ kernel/arch/sparc64/src/mm/tlb.c	(revision c23baaba8508e03b530374f43aa8f061ee436dc9)
@@ -72,7 +72,7 @@
 {
 	/*
-	 * TLBs are actually initialized early
-	 * in start.S.
+	 * Invalidate all non-locked DTLB and ITLB entries.
 	 */
+	tlb_invalidate_all();
 }
 
Index: kernel/arch/sparc64/src/start.S
===================================================================
--- kernel/arch/sparc64/src/start.S	(revision 00b38a3225eae97d519c8185a42202d226dd8513)
+++ kernel/arch/sparc64/src/start.S	(revision c23baaba8508e03b530374f43aa8f061ee436dc9)
@@ -81,4 +81,6 @@
 	 */
 	brz %l7, 0f				! skip if you are not the bootstrap CPU
+	nop
+	
 	sethi %hi(bootinfo), %o0
 	call memcpy
@@ -256,4 +258,5 @@
 	and %g1, UPA_CONFIG_MID_MASK, %g1
 
+#ifdef CONFIG_SMP
 	/*
 	 * Active loop for APs until the BSP picks them up.
@@ -269,5 +272,5 @@
 	nop
 
-#ifdef CONFIG_SMP
+
 	/*
 	 * Configure stack for the AP.
@@ -281,7 +284,7 @@
 	call main_ap
 	nop
+
+	/* Not reached. */
 #endif
-
-	/* Not reached. */
 	
 0:
