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

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

MIPS: Malta: Register UP SMP ops if all else fails



If we fail to register any real SMP implementations, fall back to
registering the dummy UP implementation. Otherwise when we build an SMP
kernel & run it on a system where the SMP implementations fail to probe
(eg. QEMU) the kernel will perform a NULL dereference attempting to call
mp_ops->smp_setup() from plat_smp_setup().

Notably this fixes booting kernels with CPS SMP enabled on QEMU, which
doesn't currently implement the CM, CPC or GIC.

Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: Peter Hurley <peter@hurleysoftware.com>
Cc: Rob Herring <robh@kernel.org>
Cc: linux-kernel@vger.kernel.org
Cc: Markos Chandras <markos.chandras@imgtec.com>
Patchwork: https://patchwork.linux-mips.org/patch/11223/


Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent e81a8c7d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -425,6 +425,7 @@ config MIPS_MALTA
	select MIPS_L1_CACHE_SHIFT_6
	select PCI_GT64XXX_PCI0
	select MIPS_MSC
	select SMP_UP if SMP
	select SWAP_IO_SPACE
	select SYS_HAS_CPU_MIPS32_R1
	select SYS_HAS_CPU_MIPS32_R2
+1 −0
Original line number Diff line number Diff line
@@ -302,6 +302,7 @@ void __init prom_init(void)
		return;
	if (!register_vsmp_smp_ops())
		return;
	register_up_smp_ops();
}

void platform_early_l2_init(void)