From 7de58fab9ccb63b4194ce39cf163a7491921d037 Mon Sep 17 00:00:00 2001 From: Atsushi Nemoto Date: Wed, 5 Jul 2006 01:22:44 +0900 Subject: [PATCH] [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 Signed-off-by: Ralf Baechle --- arch/mips/Kconfig | 1 + include/asm-mips/page.h | 12 ++++-------- 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) -- 2.20.1