aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>2007-03-17 12:01:39 -0400
committerRalf Baechle <ralf@linux-mips.org>2007-03-19 16:22:43 -0400
commit72ede9b18967e7a8a62a88f164f003193f6d891f (patch)
tree35131c340dd3e2321d994baafe707c99e2042727
parent8c3644350f4105a9b55fbfc6bbba567b79cdf72a (diff)
[MIPS] Qemu: Fix Symmetric Uniprocessor support.
Might be useful for SMP debugging. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org> [Rewritten Kconfig bits to deal better fit in the usual pattern of doing things - Ralf] Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r--arch/mips/Kconfig15
-rw-r--r--arch/mips/qemu/q-smp.c7
2 files changed, 19 insertions, 3 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 5f29018a6533..656f0ca52782 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -542,6 +542,8 @@ config QEMU
542 select SYS_SUPPORTS_LITTLE_ENDIAN 542 select SYS_SUPPORTS_LITTLE_ENDIAN
543 select ARCH_SPARSEMEM_ENABLE 543 select ARCH_SPARSEMEM_ENABLE
544 select GENERIC_HARDIRQS_NO__DO_IRQ 544 select GENERIC_HARDIRQS_NO__DO_IRQ
545 select NR_CPUS_DEFAULT_1
546 select SYS_SUPPORTS_SMP
545 help 547 help
546 Qemu is a software emulator which among other architectures also 548 Qemu is a software emulator which among other architectures also
547 can simulate a MIPS32 4Kc system. This patch adds support for the 549 can simulate a MIPS32 4Kc system. This patch adds support for the
@@ -1805,6 +1807,9 @@ config SMP
1805config SYS_SUPPORTS_SMP 1807config SYS_SUPPORTS_SMP
1806 bool 1808 bool
1807 1809
1810config NR_CPUS_DEFAULT_1
1811 bool
1812
1808config NR_CPUS_DEFAULT_2 1813config NR_CPUS_DEFAULT_2
1809 bool 1814 bool
1810 1815
@@ -1825,8 +1830,9 @@ config NR_CPUS_DEFAULT_64
1825 1830
1826config NR_CPUS 1831config NR_CPUS
1827 int "Maximum number of CPUs (2-64)" 1832 int "Maximum number of CPUs (2-64)"
1828 range 2 64 1833 range 1 64 if NR_CPUS_DEFAULT_1
1829 depends on SMP 1834 depends on SMP
1835 default "1" if NR_CPUS_DEFAULT_1
1830 default "2" if NR_CPUS_DEFAULT_2 1836 default "2" if NR_CPUS_DEFAULT_2
1831 default "4" if NR_CPUS_DEFAULT_4 1837 default "4" if NR_CPUS_DEFAULT_4
1832 default "8" if NR_CPUS_DEFAULT_8 1838 default "8" if NR_CPUS_DEFAULT_8
@@ -1837,10 +1843,13 @@ config NR_CPUS
1837 This allows you to specify the maximum number of CPUs which this 1843 This allows you to specify the maximum number of CPUs which this
1838 kernel will support. The maximum supported value is 32 for 32-bit 1844 kernel will support. The maximum supported value is 32 for 32-bit
1839 kernel and 64 for 64-bit kernels; the minimum value which makes 1845 kernel and 64 for 64-bit kernels; the minimum value which makes
1840 sense is 2. 1846 sense is 1 for Qemu (useful only for kernel debugging purposes)
1847 and 2 for all others.
1841 1848
1842 This is purely to save memory - each supported CPU adds 1849 This is purely to save memory - each supported CPU adds
1843 approximately eight kilobytes to the kernel image. 1850 approximately eight kilobytes to the kernel image. For best
1851 performance should round up your number of processors to the next
1852 power of two.
1844 1853
1845# 1854#
1846# Timer Interrupt Frequency Configuration 1855# Timer Interrupt Frequency Configuration
diff --git a/arch/mips/qemu/q-smp.c b/arch/mips/qemu/q-smp.c
index 5a12354cd576..786bbfa214d1 100644
--- a/arch/mips/qemu/q-smp.c
+++ b/arch/mips/qemu/q-smp.c
@@ -46,3 +46,10 @@ void __init prom_prepare_cpus(unsigned int max_cpus)
46void prom_boot_secondary(int cpu, struct task_struct *idle) 46void prom_boot_secondary(int cpu, struct task_struct *idle)
47{ 47{
48} 48}
49
50void __init plat_smp_setup(void)
51{
52}
53void __init plat_prepare_cpus(unsigned int max_cpus)
54{
55}