Module Name:    src
Committed By:   maya
Date:           Mon Jan 22 23:20:26 UTC 2018

Modified Files:
        src/sys/arch/mips/include: cpu.h

Log Message:
Don't attempt to dereference cpu_infos if ncpus == 0.
Instead use the already initialized cpu_info_store.

(Also, now we assume all ncpus have cpu_infos initialized. seems to work.)

fixes PR port-mips/52940: ERLITE multiprocessor hangs early


To generate a diff of this commit:
cvs rdiff -u -r1.122 -r1.123 src/sys/arch/mips/include/cpu.h

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/mips/include/cpu.h
diff -u src/sys/arch/mips/include/cpu.h:1.122 src/sys/arch/mips/include/cpu.h:1.123
--- src/sys/arch/mips/include/cpu.h:1.122	Sat Dec 16 00:37:52 2017
+++ src/sys/arch/mips/include/cpu.h	Mon Jan 22 23:20:26 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpu.h,v 1.122 2017/12/16 00:37:52 mrg Exp $	*/
+/*	$NetBSD: cpu.h,v 1.123 2018/01/22 23:20:26 maya Exp $	*/
 
 /*-
  * Copyright (c) 1992, 1993
@@ -160,7 +160,9 @@ struct cpu_info {
 #ifdef MULTIPROCESSOR
 #define	CPU_INFO_ITERATOR		int
 #define	CPU_INFO_FOREACH(cii, ci)	\
-    cii = 0, ci = cpu_infos[0]; cii < (ncpu ? ncpu : 1) && (ci = cpu_infos[cii]) != NULL; cii++
+    cii = 0, ci = (ncpu ? cpu_infos[0] : &cpu_info_store); \
+    cii < (ncpu ? ncpu : 1); \
+    ++cii
 #else
 #define	CPU_INFO_ITERATOR		int __unused
 #define	CPU_INFO_FOREACH(cii, ci)	\

Reply via email to