diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2006-02-15 16:17:19 +0100 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2006-03-21 14:27:45 +0100 |
commit | c1449c8fa40859eb269025a7db85b34115205f5b (patch) | |
tree | f92bf4d9544aec45b978ed8e3f638018054b3a5c | |
parent | [MIPS] sc-rm7k.c cleanup (diff) | |
download | linux-c1449c8fa40859eb269025a7db85b34115205f5b.tar.xz linux-c1449c8fa40859eb269025a7db85b34115205f5b.zip |
[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: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r-- | arch/mips/Kconfig | 2 | ||||
-rw-r--r-- | arch/mips/qemu/Makefile | 2 | ||||
-rw-r--r-- | arch/mips/qemu/q-smp.c | 48 |
3 files changed, 51 insertions, 1 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 9d1e78f9c060..6356f7d52ce6 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -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 diff --git a/arch/mips/qemu/Makefile b/arch/mips/qemu/Makefile index 934944ab9e85..6a8e8bcef552 100644 --- a/arch/mips/qemu/Makefile +++ b/arch/mips/qemu/Makefile @@ -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 diff --git a/arch/mips/qemu/q-smp.c b/arch/mips/qemu/q-smp.c new file mode 100644 index 000000000000..5a12354cd576 --- /dev/null +++ b/arch/mips/qemu/q-smp.c @@ -0,0 +1,48 @@ +/* + * 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) +{ +} |