summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Whitcroft <apw@shadowen.org>2005-06-23 00:07:52 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-23 09:45:04 -0700
commitb159d43fbf7eaaac6ecc647f51cf4257332db47b (patch)
tree968d856c1bd80b47c76d27da272d95bcaf97aa78
parent368a0a3afad08069b2679ecaff80fc18c10a6e2a (diff)
[PATCH] generify early_pfn_to_nid
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 <apw@shadowen.org> Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Martin Bligh <mbligh@aracnet.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--arch/i386/Kconfig4
-rw-r--r--include/asm-i386/mmzone.h3
-rw-r--r--include/linux/mmzone.h4
3 files changed, 11 insertions, 0 deletions
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig
index 8e5242c8e09..a8128f99733 100644
--- a/arch/i386/Kconfig
+++ b/arch/i386/Kconfig
@@ -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 --git a/include/asm-i386/mmzone.h b/include/asm-i386/mmzone.h
index 9cec191f462..48e46d403aa 100644
--- a/include/asm-i386/mmzone.h
+++ b/include/asm-i386/mmzone.h
@@ -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 --git a/include/linux/mmzone.h b/include/linux/mmzone.h
index 95f4a780ea6..6ef07de98d6 100644
--- a/include/linux/mmzone.h
+++ b/include/linux/mmzone.h
@@ -435,6 +435,10 @@ extern struct pglist_data contig_page_data;
#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 */