Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
[linux-2.6] / include / asm-powerpc / mmzone.h
1 /*
2  * Written by Kanoj Sarcar (kanoj@sgi.com) Aug 99
3  *
4  * PowerPC64 port:
5  * Copyright (C) 2002 Anton Blanchard, IBM Corp.
6  */
7 #ifndef _ASM_MMZONE_H_
8 #define _ASM_MMZONE_H_
9 #ifdef __KERNEL__
10
11
12 /*
13  * generic non-linear memory support:
14  *
15  * 1) we will not split memory into more chunks than will fit into the
16  *    flags field of the struct page
17  */
18
19 #ifdef CONFIG_NEED_MULTIPLE_NODES
20
21 extern struct pglist_data *node_data[];
22 /*
23  * Return a pointer to the node data for node n.
24  */
25 #define NODE_DATA(nid)          (node_data[nid])
26
27 /*
28  * Following are specific to this numa platform.
29  */
30
31 extern int numa_cpu_lookup_table[];
32 extern cpumask_t numa_cpumask_lookup_table[];
33 #ifdef CONFIG_MEMORY_HOTPLUG
34 extern unsigned long max_pfn;
35 #endif
36
37 /*
38  * Following are macros that each numa implmentation must define.
39  */
40
41 #define node_start_pfn(nid)     (NODE_DATA(nid)->node_start_pfn)
42 #define node_end_pfn(nid)       (NODE_DATA(nid)->node_end_pfn)
43
44 #endif /* CONFIG_NEED_MULTIPLE_NODES */
45
46 #ifdef CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID
47 extern int __init early_pfn_to_nid(unsigned long pfn);
48 #endif
49
50 #endif /* __KERNEL__ */
51 #endif /* _ASM_MMZONE_H_ */