Quellcode durchsuchen

sh: URAM node support for SH7722.

This adds the URAM block on SH7722 as a separate node.
Sparsemem is required for this, or it can simply be disabled
by explicitly selecting a flatmem model.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Paul Mundt vor 18 Jahren
Ursprung
Commit
520588f47f
2 geänderte Dateien mit 10 neuen und 1 gelöschten Zeilen
  1. 8 1
      arch/sh/kernel/cpu/sh4a/setup-sh7722.c
  2. 2 0
      arch/sh/mm/Kconfig

+ 8 - 1
arch/sh/kernel/cpu/sh4a/setup-sh7722.c

@@ -1,7 +1,7 @@
 /*
  * SH7722 Setup
  *
- *  Copyright (C) 2006  Paul Mundt
+ *  Copyright (C) 2006 - 2007  Paul Mundt
  *
  * This file is subject to the terms and conditions of the GNU General Public
  * License.  See the file "COPYING" in the main directory of this archive
@@ -10,6 +10,7 @@
 #include <linux/platform_device.h>
 #include <linux/init.h>
 #include <linux/serial.h>
+#include <linux/mm.h>
 #include <asm/sci.h>
 
 static struct plat_sci_port sci_platform_data[] = {
@@ -78,3 +79,9 @@ void __init init_IRQ_ipr(void)
 {
 	make_ipr_irq(sh7722_ipr_map, ARRAY_SIZE(sh7722_ipr_map));
 }
+
+void __init plat_mem_setup(void)
+{
+	/* Register the URAM space as Node 1 */
+	setup_bootmem_node(1, 0x055f0000, 0x05610000);
+}

+ 2 - 0
arch/sh/mm/Kconfig

@@ -211,6 +211,7 @@ config CPU_SUBTYPE_SH7722
 	select CPU_SH4AL_DSP
 	select CPU_SHX2
 	select CPU_HAS_IPR_IRQ
+	select ARCH_SPARSEMEM_ENABLE
 
 endchoice
 
@@ -321,6 +322,7 @@ config ARCH_SPARSEMEM_DEFAULT
 
 config MAX_ACTIVE_REGIONS
 	int
+	default "2" if (CPU_SUBTYPE_SH7722 && SPARSEMEM)
 	default "1"
 
 config ARCH_POPULATES_NODE_MAP