Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/arm/arm32 Always cpu_info_store as the 3rd work unl...



details:   https://anonhg.NetBSD.org/src/rev/b9c298241787
branches:  trunk
changeset: 781399:b9c298241787
user:      matt <matt%NetBSD.org@localhost>
date:      Mon Sep 03 22:49:54 2012 +0000

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

diffstat:

 sys/arch/arm/arm32/locore.S |  13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diffs (43 lines):

diff -r c7442d778990 -r b9c298241787 sys/arch/arm/arm32/locore.S
--- a/sys/arch/arm/arm32/locore.S       Mon Sep 03 21:27:14 2012 +0000
+++ b/sys/arch/arm/arm32/locore.S       Mon Sep 03 22:49:54 2012 +0000
@@ -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 @@
 #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 @@
 .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
 



Home | Main Index | Thread Index | Old Index