[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>
This commit is contained in:
parent
cfbae5d331
commit
7de58fab9c
|
@ -1694,6 +1694,7 @@ config ARCH_SPARSEMEM_ENABLE
|
|||
|
||||
config ARCH_SPARSEMEM_ENABLE
|
||||
bool
|
||||
select SPARSEMEM_STATIC
|
||||
|
||||
config NUMA
|
||||
bool "NUMA Support"
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue