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