2005-04-16 15:20:36 -07:00
/*
* Written by Kanoj Sarcar ( kanoj @ sgi . com ) Aug 99
*
* PowerPC64 port :
* Copyright ( C ) 2002 Anton Blanchard , IBM Corp .
*/
# ifndef _ASM_MMZONE_H_
# define _ASM_MMZONE_H_
2005-12-16 22:43:46 +01:00
# ifdef __KERNEL__
2005-04-16 15:20:36 -07:00
# include <linux/config.h>
2005-11-11 14:22:35 +11:00
/*
* generic non - linear memory support :
2005-06-23 00:08:03 -07:00
*
* 1 ) we will not split memory into more chunks than will fit into the
* flags field of the struct page
*/
# ifdef CONFIG_NEED_MULTIPLE_NODES
2005-04-16 15:20:36 -07:00
extern struct pglist_data * node_data [ ] ;
2005-06-23 00:08:03 -07:00
/*
* Return a pointer to the node data for node n .
*/
# define NODE_DATA(nid) (node_data[nid])
2005-04-16 15:20:36 -07:00
/*
* Following are specific to this numa platform .
*/
extern int numa_cpu_lookup_table [ ] ;
extern cpumask_t numa_cpumask_lookup_table [ ] ;
2005-11-04 15:20:24 -08:00
# ifdef CONFIG_MEMORY_HOTPLUG
extern unsigned long max_pfn ;
# endif
2005-04-16 15:20:36 -07:00
/*
* Following are macros that each numa implmentation must define .
*/
# define node_start_pfn(nid) (NODE_DATA(nid)->node_start_pfn)
# define node_end_pfn(nid) (NODE_DATA(nid)->node_end_pfn)
2005-06-23 00:08:03 -07:00
# endif /* CONFIG_NEED_MULTIPLE_NODES */
2005-06-23 00:08:01 -07:00
# ifdef CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID
2005-11-11 14:22:35 +11:00
extern int __init early_pfn_to_nid ( unsigned long pfn ) ;
2005-06-23 00:08:01 -07:00
# endif
2005-12-16 22:43:46 +01:00
# endif /* __KERNEL__ */
2005-04-16 15:20:36 -07:00
# endif /* _ASM_MMZONE_H_ */