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>
diff --git a/arch/sh/kernel/cpu/sh4a/setup-shx3.c b/arch/sh/kernel/cpu/sh4a/setup-shx3.c
index 7f3fa51..f7a2cc2 100644
--- a/arch/sh/kernel/cpu/sh4a/setup-shx3.c
+++ b/arch/sh/kernel/cpu/sh4a/setup-shx3.c
@@ -255,3 +255,17 @@
 {
 	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 d1a7e3f..eca68da 100644
--- a/arch/sh/mm/Kconfig
+++ b/arch/sh/mm/Kconfig
@@ -198,6 +198,8 @@
 	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 MAX_ACTIVE_REGIONS
 	int
+	default "6" if (CPU_SUBTYPE_SHX3 && SPARSEMEM)
 	default "2" if (CPU_SUBTYPE_SH7722 && SPARSEMEM)
 	default "1"