Explorar o código

[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>
Andy Whitcroft %!s(int64=20) %!d(string=hai) anos
pai
achega
b159d43fbf
Modificáronse 3 ficheiros con 11 adicións e 0 borrados
  1. 4 0
      arch/i386/Kconfig
  2. 3 0
      include/asm-i386/mmzone.h
  3. 4 0
      include/linux/mmzone.h

+ 4 - 0
arch/i386/Kconfig

@@ -810,6 +810,10 @@ config HAVE_ARCH_ALLOC_REMAP
 
 
 source "mm/Kconfig"
 source "mm/Kconfig"
 
 
+config HAVE_ARCH_EARLY_PFN_TO_NID
+	bool
+	default y
+
 config HIGHPTE
 config HIGHPTE
 	bool "Allocate 3rd-level pagetables from highmem"
 	bool "Allocate 3rd-level pagetables from highmem"
 	depends on HIGHMEM4G || HIGHMEM64G
 	depends on HIGHMEM4G || HIGHMEM64G

+ 3 - 0
include/asm-i386/mmzone.h

@@ -143,4 +143,7 @@ static inline void get_memcfg_numa(void)
 }
 }
 
 
 #endif /* CONFIG_DISCONTIGMEM */
 #endif /* CONFIG_DISCONTIGMEM */
+
+extern int early_pfn_to_nid(unsigned long pfn);
+
 #endif /* _ASM_MMZONE_H_ */
 #endif /* _ASM_MMZONE_H_ */

+ 4 - 0
include/linux/mmzone.h

@@ -435,6 +435,10 @@ extern struct pglist_data contig_page_data;
 
 
 #endif
 #endif
 
 
+#ifndef CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID
+#define early_pfn_to_nid(nid)  (0UL)
+#endif
+
 #endif /* !__ASSEMBLY__ */
 #endif /* !__ASSEMBLY__ */
 #endif /* __KERNEL__ */
 #endif /* __KERNEL__ */
 #endif /* _LINUX_MMZONE_H */
 #endif /* _LINUX_MMZONE_H */