From: Andy Whitcroft Provide a default implementation for early_pfn_to_nid returning node 0. Allow architectures to override this with their own implementation out of asm/mmzone.h. Signed-off-by: Andy Whitcroft Signed-off-by: Dave Hansen Signed-off-by: Martin Bligh Signed-off-by: Andrew Morton --- arch/i386/Kconfig | 4 ++++ include/asm-i386/mmzone.h | 3 +++ include/linux/mmzone.h | 4 ++++ 3 files changed, 11 insertions(+) diff -puN arch/i386/Kconfig~generify-early_pfn_to_nid arch/i386/Kconfig --- 25/arch/i386/Kconfig~generify-early_pfn_to_nid Fri May 6 14:58:12 2005 +++ 25-akpm/arch/i386/Kconfig Fri May 6 14:58:12 2005 @@ -810,6 +810,10 @@ config HAVE_ARCH_ALLOC_REMAP source "mm/Kconfig" +config HAVE_ARCH_EARLY_PFN_TO_NID + bool + default y + config HIGHPTE bool "Allocate 3rd-level pagetables from highmem" depends on HIGHMEM4G || HIGHMEM64G diff -puN include/asm-i386/mmzone.h~generify-early_pfn_to_nid include/asm-i386/mmzone.h --- 25/include/asm-i386/mmzone.h~generify-early_pfn_to_nid Fri May 6 14:58:12 2005 +++ 25-akpm/include/asm-i386/mmzone.h Fri May 6 14:58:12 2005 @@ -143,4 +143,7 @@ static inline void get_memcfg_numa(void) } #endif /* CONFIG_DISCONTIGMEM */ + +extern int early_pfn_to_nid(unsigned long pfn); + #endif /* _ASM_MMZONE_H_ */ diff -puN include/linux/mmzone.h~generify-early_pfn_to_nid include/linux/mmzone.h --- 25/include/linux/mmzone.h~generify-early_pfn_to_nid Fri May 6 14:58:12 2005 +++ 25-akpm/include/linux/mmzone.h Fri May 6 14:58:12 2005 @@ -418,6 +418,10 @@ extern struct pglist_data contig_page_da #endif +#ifndef CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID +#define early_pfn_to_nid(nid) (0UL) +#endif + #endif /* !__ASSEMBLY__ */ #endif /* __KERNEL__ */ #endif /* _LINUX_MMZONE_H */ _