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) \