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

Commit c1449c8f authored by Ralf Baechle's avatar Ralf Baechle
Browse files

[MIPS] Symmetric Uniprocessor support for Qemu.


    
SMP bits needed to builds and run an SMP kernel.  While only a single
processor is supported ATM it's still useful for some SMP debugging using
Qemu.
    
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 37caa934
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1582,7 +1582,7 @@ source "mm/Kconfig"

config SMP
	bool "Multi-Processing support"
	depends on CPU_RM9000 || ((SIBYTE_BCM1x80 || SIBYTE_BCM1x55 || SIBYTE_SB1250) && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP
	depends on CPU_RM9000 || ((SIBYTE_BCM1x80 || SIBYTE_BCM1x55 || SIBYTE_SB1250 || QEMU) && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP
	---help---
	  This enables support for systems with more than one CPU. If you have
	  a system with only one CPU, like most personal computers, say N. If
+2 −0
Original line number Diff line number Diff line
@@ -3,3 +3,5 @@
#

obj-y		= q-firmware.o q-int.o q-irq.o q-mem.o q-setup.o

obj-$(CONFIG_SMP) += q-smp.o

arch/mips/qemu/q-smp.c

0 → 100644
+48 −0
Original line number Diff line number Diff line
/*
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 * Copyright (C) 2006 by Ralf Baechle (ralf@linux-mips.org)
 *
 * Symmetric Uniprocessor (TM) Support
 */
#include <linux/kernel.h>
#include <linux/sched.h>

/*
 * Send inter-processor interrupt
 */
void core_send_ipi(int cpu, unsigned int action)
{
	panic(KERN_ERR "%s called", __FUNCTION__);
}

/*
 *  After we've done initial boot, this function is called to allow the
 *  board code to clean up state, if needed
 */
void prom_init_secondary(void)
{
}

void prom_smp_finish(void)
{
}

/* Hook for after all CPUs are online */
void prom_cpus_done(void)
{
}

void __init prom_prepare_cpus(unsigned int max_cpus)
{
	cpus_clear(phys_cpu_present_map);
}

/*
 * Firmware CPU startup hook
 */
void prom_boot_secondary(int cpu, struct task_struct *idle)
{
}