Module Name: src
Committed By: simonb
Date: Tue Jul 21 06:01:10 UTC 2020
Modified Files:
src/sys/arch/mips/cavium: octeon_cpunode.c
src/sys/arch/mips/mips: cpu_subr.c
Log Message:
Support "boot -1" to start an MP kernel in uniprocessor mode.
Sort sys/* includes while here.
To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/mips/cavium/octeon_cpunode.c
cvs rdiff -u -r1.55 -r1.56 src/sys/arch/mips/mips/cpu_subr.c
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/cavium/octeon_cpunode.c
diff -u src/sys/arch/mips/cavium/octeon_cpunode.c:1.15 src/sys/arch/mips/cavium/octeon_cpunode.c:1.16
--- src/sys/arch/mips/cavium/octeon_cpunode.c:1.15 Sun Jul 19 08:58:35 2020
+++ src/sys/arch/mips/cavium/octeon_cpunode.c Tue Jul 21 06:01:10 2020
@@ -29,7 +29,7 @@
#define __INTR_PRIVATE
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: octeon_cpunode.c,v 1.15 2020/07/19 08:58:35 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: octeon_cpunode.c,v 1.16 2020/07/21 06:01:10 simonb Exp $");
#include "locators.h"
#include "cpunode.h"
@@ -37,10 +37,11 @@ __KERNEL_RCSID(0, "$NetBSD: octeon_cpuno
#include "opt_ddb.h"
#include <sys/param.h>
+#include <sys/atomic.h>
+#include <sys/cpu.h>
#include <sys/device.h>
#include <sys/lwp.h>
-#include <sys/cpu.h>
-#include <sys/atomic.h>
+#include <sys/reboot.h>
#include <sys/wdog.h>
#include <uvm/uvm.h>
@@ -294,6 +295,12 @@ cpu_cpunode_attach(device_t parent, devi
return;
}
#ifdef MULTIPROCESSOR
+ if ((boothowto & RB_MD1) != 0) {
+ aprint_naive("\n");
+ aprint_normal(": multiprocessor boot disabled\n");
+ return;
+ }
+
if (!kcpuset_isset(cpus_booted, cpunum)) {
aprint_naive(" disabled\n");
aprint_normal(" disabled (unresponsive)\n");
Index: src/sys/arch/mips/mips/cpu_subr.c
diff -u src/sys/arch/mips/mips/cpu_subr.c:1.55 src/sys/arch/mips/mips/cpu_subr.c:1.56
--- src/sys/arch/mips/mips/cpu_subr.c:1.55 Mon Jul 20 14:59:57 2020
+++ src/sys/arch/mips/mips/cpu_subr.c Tue Jul 21 06:01:10 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: cpu_subr.c,v 1.55 2020/07/20 14:59:57 jmcneill Exp $ */
+/* $NetBSD: cpu_subr.c,v 1.56 2020/07/21 06:01:10 simonb Exp $ */
/*-
* Copyright (c) 2010, 2019 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cpu_subr.c,v 1.55 2020/07/20 14:59:57 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cpu_subr.c,v 1.56 2020/07/21 06:01:10 simonb Exp $");
#include "opt_cputype.h"
#include "opt_ddb.h"
@@ -38,19 +38,20 @@ __KERNEL_RCSID(0, "$NetBSD: cpu_subr.c,v
#include "opt_multiprocessor.h"
#include <sys/param.h>
-#include <sys/cpu.h>
-#include <sys/intr.h>
#include <sys/atomic.h>
+#include <sys/bitops.h>
+#include <sys/cpu.h>
#include <sys/device.h>
+#include <sys/idle.h>
+#include <sys/intr.h>
+#include <sys/ipi.h>
+#include <sys/kernel.h>
#include <sys/lwp.h>
+#include <sys/module.h>
#include <sys/proc.h>
#include <sys/ras.h>
-#include <sys/module.h>
-#include <sys/bitops.h>
-#include <sys/idle.h>
+#include <sys/reboot.h>
#include <sys/xcall.h>
-#include <sys/kernel.h>
-#include <sys/ipi.h>
#include <uvm/uvm.h>
@@ -973,6 +974,9 @@ cpu_boot_secondary_processors(void)
CPU_INFO_ITERATOR cii;
struct cpu_info *ci;
+ if ((boothowto & RB_MD1) != 0)
+ return;
+
for (CPU_INFO_FOREACH(cii, ci)) {
if (CPU_IS_PRIMARY(ci))
continue;