From: Andy Whitcroft Provide an implementation of early_pfn_to_nid for PPC64. This is used by memory models to determine the node from which to take allocations before the memory allocators are fully initialised. Signed-off-by: Andy Whitcroft Signed-off-by: Dave Hansen Signed-off-by: Martin Bligh Signed-off-by: Andrew Morton --- arch/ppc64/Kconfig | 4 ++++ include/asm-ppc64/mmzone.h | 5 +++++ 2 files changed, 9 insertions(+) diff -puN arch/ppc64/Kconfig~ppc64-add-early_pfn_to_nid arch/ppc64/Kconfig --- 25/arch/ppc64/Kconfig~ppc64-add-early_pfn_to_nid Fri May 6 15:10:48 2005 +++ 25-akpm/arch/ppc64/Kconfig Fri May 6 15:10:48 2005 @@ -211,6 +211,10 @@ config ARCH_FLATMEM_ENABLE source "mm/Kconfig" +config HAVE_ARCH_EARLY_PFN_TO_NID + bool + default y + # Some NUMA nodes have memory ranges that span # other nodes. Even though a pfn is valid and # between a node's start and end pfns, it may not diff -puN include/asm-ppc64/mmzone.h~ppc64-add-early_pfn_to_nid include/asm-ppc64/mmzone.h --- 25/include/asm-ppc64/mmzone.h~ppc64-add-early_pfn_to_nid Fri May 6 15:10:48 2005 +++ 25-akpm/include/asm-ppc64/mmzone.h Fri May 6 15:10:48 2005 @@ -90,4 +90,9 @@ static inline int pa_to_nid(unsigned lon #define discontigmem_pfn_valid(pfn) ((pfn) < num_physpages) #endif /* CONFIG_DISCONTIGMEM */ + +#ifdef CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID +#define early_pfn_to_nid(pfn) pa_to_nid(((unsigned long)pfn) << PAGE_SHIFT) +#endif + #endif /* _ASM_MMZONE_H_ */ _