aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2007-08-01 17:52:47 +0900
committerPaul Mundt <lethal@linux-sh.org>2007-09-21 11:57:47 +0900
commit7da3b8ef662af6252aa17c55cc0aa6d74cbf02e4 (patch)
tree2a1cacd022ef472c38e0c7f5eb4a0bfcc0d79d69 /arch/sh
parentsh: intc - add support for x3 (diff)
downloadlinux-dev-7da3b8ef662af6252aa17c55cc0aa6d74cbf02e4.tar.xz
linux-dev-7da3b8ef662af6252aa17c55cc0aa6d74cbf02e4.zip
sh: Initial multiple-node support for SH-X3.
Wire up CPU#0 URAM as node 1 on SH-X3. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/kernel/cpu/sh4a/setup-shx3.c14
-rw-r--r--arch/sh/mm/Kconfig3
2 files changed, 17 insertions, 0 deletions
diff --git a/arch/sh/kernel/cpu/sh4a/setup-shx3.c b/arch/sh/kernel/cpu/sh4a/setup-shx3.c
index 7f3fa5167c6b..f7a2cc221d22 100644
--- a/arch/sh/kernel/cpu/sh4a/setup-shx3.c
+++ b/arch/sh/kernel/cpu/sh4a/setup-shx3.c
@@ -255,3 +255,17 @@ void __init plat_irq_setup(void)
{
register_intc_controller(&intc_desc);
}
+
+void __init plat_mem_setup(void)
+{
+ /* Register CPU#0 URAM space as Node 1 */
+ setup_bootmem_node(1, 0x145f0000, 0x14610000); /* CPU0 */
+
+#if 0
+ /* XXX: Not yet.. */
+ setup_bootmem_node(2, 0x14df0000, 0x14e10000); /* CPU1 */
+ setup_bootmem_node(3, 0x155f0000, 0x15610000); /* CPU2 */
+ setup_bootmem_node(4, 0x15df0000, 0x15e10000); /* CPU3 */
+ setup_bootmem_node(5, 0x16000000, 0x16020000); /* CSM */
+#endif
+}
diff --git a/arch/sh/mm/Kconfig b/arch/sh/mm/Kconfig
index d1a7e3f7b4ae..eca68da7c0ab 100644
--- a/arch/sh/mm/Kconfig
+++ b/arch/sh/mm/Kconfig
@@ -198,6 +198,8 @@ config CPU_SUBTYPE_SHX3
select CPU_SH4A
select CPU_SHX3
select CPU_HAS_INTC_IRQ
+ select ARCH_SPARSEMEM_ENABLE
+ select SYS_SUPPORTS_NUMA
# SH4AL-DSP Processor Support
@@ -323,6 +325,7 @@ config ARCH_SPARSEMEM_DEFAULT
config MAX_ACTIVE_REGIONS
int
+ default "6" if (CPU_SUBTYPE_SHX3 && SPARSEMEM)
default "2" if (CPU_SUBTYPE_SH7722 && SPARSEMEM)
default "1"