Răsfoiți Sursa

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>
Paul Mundt 18 ani în urmă
părinte
comite
7da3b8ef66
2 a modificat fișierele cu 17 adăugiri și 0 ștergeri
  1. 14 0
      arch/sh/kernel/cpu/sh4a/setup-shx3.c
  2. 3 0
      arch/sh/mm/Kconfig

+ 14 - 0
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
+}

+ 3 - 0
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"