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 serialize printing of secondary cpu info



details:   https://anonhg.NetBSD.org/src/rev/7a8f87ff4d73
branches:  trunk
changeset: 334884:7a8f87ff4d73
user:      jmcneill <jmcneill%NetBSD.org@localhost>
date:      Sat Dec 13 16:11:01 2014 +0000

description:
serialize printing of secondary cpu info

diffstat:

 sys/arch/arm/arm32/arm32_boot.c |  16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diffs (58 lines):

diff -r 80b76d94f16a -r 7a8f87ff4d73 sys/arch/arm/arm32/arm32_boot.c
--- a/sys/arch/arm/arm32/arm32_boot.c   Sat Dec 13 15:59:30 2014 +0000
+++ b/sys/arch/arm/arm32/arm32_boot.c   Sat Dec 13 16:11:01 2014 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: arm32_boot.c,v 1.10 2014/11/04 22:37:09 matt Exp $     */
+/*     $NetBSD: arm32_boot.c,v 1.11 2014/12/13 16:11:01 jmcneill Exp $ */
 
 /*
  * Copyright (c) 2002, 2003, 2005  Genetec Corporation.  All rights reserved.
@@ -123,7 +123,7 @@
 
 #include <sys/cdefs.h>
 
-__KERNEL_RCSID(1, "$NetBSD: arm32_boot.c,v 1.10 2014/11/04 22:37:09 matt Exp $");
+__KERNEL_RCSID(1, "$NetBSD: arm32_boot.c,v 1.11 2014/12/13 16:11:01 jmcneill Exp $");
 
 #include "opt_ddb.h"
 #include "opt_kgdb.h"
@@ -151,6 +151,10 @@
 #include <sys/kgdb.h>
 #endif
 
+#ifdef MULTIPROCESSOR
+static kmutex_t cpu_hatch_lock;
+#endif
+
 vaddr_t
 initarm_common(vaddr_t kvm_base, vsize_t kvm_size,
        const struct boot_physmem *bp, size_t nbp)
@@ -300,6 +304,10 @@
                Debugger();
 #endif
 
+#ifdef MULTIPROCESSOR
+       mutex_init(&cpu_hatch_lock, MUTEX_DEFAULT, IPL_HIGH);
+#endif
+
 #ifdef VERBOSE_INIT_ARM
        printf("done.\n");
 #endif
@@ -383,6 +391,8 @@
        }
 #endif
 
+       mutex_enter(&cpu_hatch_lock);
+
        aprint_naive("%s", device_xname(ci->ci_dev));
        aprint_normal("%s", device_xname(ci->ci_dev));
        identify_arm_cpu(ci->ci_dev, ci);
@@ -391,6 +401,8 @@
 #endif
        vfp_attach(ci);
 
+       mutex_exit(&cpu_hatch_lock);
+
 #ifdef VERBOSE_INIT_ARM
        printf(" interrupts");
 #endif



Home | Main Index | Thread Index | Old Index