Module Name:    src
Committed By:   matt
Date:           Mon Sep  3 22:49:54 UTC 2012

Modified Files:
        src/sys/arch/arm/arm32: locore.S

Log Message:
Always cpu_info_store as the 3rd work unless TPIDRPRW_IS_CURLWP and then
it needs to be lwp0.  Fix IGEPV2 boot problem.


To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 src/sys/arch/arm/arm32/locore.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/arm32/locore.S
diff -u src/sys/arch/arm/arm32/locore.S:1.27 src/sys/arch/arm/arm32/locore.S:1.28
--- src/sys/arch/arm/arm32/locore.S:1.27	Wed Aug 29 07:14:04 2012
+++ src/sys/arch/arm/arm32/locore.S	Mon Sep  3 22:49:54 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore.S,v 1.27 2012/08/29 07:14:04 matt Exp $	*/
+/*	$NetBSD: locore.S,v 1.28 2012/09/03 22:49:54 matt Exp $	*/
 
 /*
  * Copyright (C) 1994-1997 Mark Brinicombe
@@ -42,7 +42,7 @@
 /* What size should this really be ? It is only used by init_arm() */
 #define INIT_ARM_STACK_SIZE	2048
 
-	RCSID("$NetBSD: locore.S,v 1.27 2012/08/29 07:14:04 matt Exp $")
+	RCSID("$NetBSD: locore.S,v 1.28 2012/09/03 22:49:54 matt Exp $")
 
 /*
  * This is for kvm_mkdb, and should be the address of the beginning
@@ -62,6 +62,9 @@ ASENTRY_NP(start)
 #if defined(TPIDRPRW_IS_CURCPU) || defined(TPIDRPRW_IS_CURLWP)
 	mcr	p15, 0, r8, c13, c0, 4
 #endif
+#if defined(TPIDRPRW_IS_CURLWP)
+	ldr	r8, [r8, #L_CPU]	/* r8 needs curcpu in it */
+#endif
 
 	mov	r3, #0
 .L1:
@@ -92,12 +95,10 @@ ASENTRY_NP(start)
 .Lstart:
 	.word	_edata
 	.word	_end
-#if defined(TPIDRPRW_IS_CURCPU)
-	.word	_C_LABEL(cpu_info_store)
-#elif defined(TPIDRPRW_IS_CURLWP)
+#if defined(TPIDRPRW_IS_CURLWP)
 	.word	_C_LABEL(lwp0)
 #else
-	.word	0
+	.word	_C_LABEL(cpu_info_store)
 #endif
 	.word	svcstk + INIT_ARM_STACK_SIZE
 

Reply via email to