diff options
author | Atsushi Nemoto <anemo@mba.ocn.ne.jp> | 2007-03-17 12:01:39 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-03-19 16:22:43 -0400 |
commit | 72ede9b18967e7a8a62a88f164f003193f6d891f (patch) | |
tree | 35131c340dd3e2321d994baafe707c99e2042727 /arch/mips | |
parent | 8c3644350f4105a9b55fbfc6bbba567b79cdf72a (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>
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/Kconfig | 15 | ||||
-rw-r--r-- | arch/mips/qemu/q-smp.c | 7 |
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 | |||
1805 | config SYS_SUPPORTS_SMP | 1807 | config SYS_SUPPORTS_SMP |
1806 | bool | 1808 | bool |
1807 | 1809 | ||
1810 | config NR_CPUS_DEFAULT_1 | ||
1811 | bool | ||
1812 | |||
1808 | config NR_CPUS_DEFAULT_2 | 1813 | config NR_CPUS_DEFAULT_2 |
1809 | bool | 1814 | bool |
1810 | 1815 | ||
@@ -1825,8 +1830,9 @@ config NR_CPUS_DEFAULT_64 | |||
1825 | 1830 | ||
1826 | config NR_CPUS | 1831 | config 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) | |||
46 | void prom_boot_secondary(int cpu, struct task_struct *idle) | 46 | void prom_boot_secondary(int cpu, struct task_struct *idle) |
47 | { | 47 | { |
48 | } | 48 | } |
49 | |||
50 | void __init plat_smp_setup(void) | ||
51 | { | ||
52 | } | ||
53 | void __init plat_prepare_cpus(unsigned int max_cpus) | ||
54 | { | ||
55 | } | ||