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;

Reply via email to