Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6422a913 authored by Paul Burton's avatar Paul Burton Committed by Ralf Baechle
Browse files

MIPS: smp-cps: Add nothreads kernel parameter



When debugging a new system or core it can be useful to disable the use
of multithreading. Introduce a "nothreads" kernel command line parameter
that can be set in order to do so.

Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
Cc: Matt Redfearn <matt.redfearn@imgtec.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Niklas Cassel <niklas.cassel@axis.com>
Cc: Ezequiel Garcia <ezequiel.garcia@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/12340/


Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 5a3e7c02
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -27,14 +27,25 @@
#include <asm/time.h>
#include <asm/uasm.h>

static bool threads_disabled;
static DECLARE_BITMAP(core_power, NR_CPUS);

struct core_boot_config *mips_cps_core_bootcfg;

static int __init setup_nothreads(char *s)
{
	threads_disabled = true;
	return 0;
}
early_param("nothreads", setup_nothreads);

static unsigned core_vpe_count(unsigned core)
{
	unsigned cfg;

	if (threads_disabled)
		return 1;

	if ((!config_enabled(CONFIG_MIPS_MT_SMP) || !cpu_has_mipsmt)
		&& (!config_enabled(CONFIG_CPU_MIPSR6) || !cpu_has_vp))
		return 1;