diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2006-02-15 15:17:19 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2006-03-21 13:27:45 +0000 |
commit | c1449c8fa40859eb269025a7db85b34115205f5b (patch) | |
tree | f92bf4d9544aec45b978ed8e3f638018054b3a5c /arch/mips/qemu | |
parent | 37caa934af02bc01d0e1366a49e1c89360fa0f29 (diff) | |
download | op-kernel-dev-c1449c8fa40859eb269025a7db85b34115205f5b.zip op-kernel-dev-c1449c8fa40859eb269025a7db85b34115205f5b.tar.gz |
[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>
Diffstat (limited to 'arch/mips/qemu')
-rw-r--r-- | arch/mips/qemu/Makefile | 2 | ||||
-rw-r--r-- | arch/mips/qemu/q-smp.c | 48 |
2 files changed, 50 insertions, 0 deletions
diff --git a/arch/mips/qemu/Makefile b/arch/mips/qemu/Makefile index 934944a..6a8e8bc 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 0000000..5a12354 --- /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) +{ +} |