summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>2006-07-05 01:22:44 +0900
committerRalf Baechle <ralf@linux-mips.org>2006-07-13 21:26:07 +0100
commit7de58fab9ccb63b4194ce39cf163a7491921d037 (patch)
tree6b7153cc7b731fdb8e1a5b1641d093bcedd78154
parentcfbae5d331b8872719b5cddb0ed5292c393ad78a (diff)
downloadblackbird-obmc-linux-7de58fab9ccb63b4194ce39cf163a7491921d037.tar.gz
blackbird-obmc-linux-7de58fab9ccb63b4194ce39cf163a7491921d037.zip
[MIPS] Sparsemem fixes
1. MIPS should select SPARSEMEM_STATIC since allocating bootmem in memory_present() will corrupt bootmap area. 2. pfn_valid() for SPARSEMEM is defined in linux/mmzone.h Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r--arch/mips/Kconfig1
-rw-r--r--include/asm-mips/page.h12
2 files changed, 5 insertions, 8 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 3ebc5b296dbb..330f6abc7703 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1694,6 +1694,7 @@ config ARCH_SPARSEMEM_ENABLE
config ARCH_SPARSEMEM_ENABLE
bool
+ select SPARSEMEM_STATIC
config NUMA
bool "NUMA Support"
diff --git a/include/asm-mips/page.h b/include/asm-mips/page.h
index 6b97744f00cd..6ed1151a05a3 100644
--- a/include/asm-mips/page.h
+++ b/include/asm-mips/page.h
@@ -138,16 +138,14 @@ typedef struct { unsigned long pgprot; } pgprot_t;
#define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT)
-#ifndef CONFIG_SPARSEMEM
-#ifndef CONFIG_NEED_MULTIPLE_NODES
-#define pfn_valid(pfn) ((pfn) < max_mapnr)
-#endif
-#endif
-
#ifdef CONFIG_FLATMEM
#define pfn_valid(pfn) ((pfn) < max_mapnr)
+#elif defined(CONFIG_SPARSEMEM)
+
+/* pfn_valid is defined in linux/mmzone.h */
+
#elif defined(CONFIG_NEED_MULTIPLE_NODES)
#define pfn_valid(pfn) \
@@ -159,8 +157,6 @@ typedef struct { unsigned long pgprot; } pgprot_t;
: 0); \
})
-#else
-#error Provide a definition of pfn_valid
#endif
#define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT)
OpenPOWER on IntegriCloud