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;