1cc92fe02503d00abee3782364dfad767e19386f
[linux-2.6.git] / include / asm-x86_64 / numa.h
1 #ifndef _ASM_X8664_NUMA_H 
2 #define _ASM_X8664_NUMA_H 1
3
4 #include <linux/nodemask.h>
5
6 struct bootnode {
7         u64 start,end; 
8 };
9
10 extern int compute_hash_shift(struct bootnode *nodes, int numnodes);
11 extern int pxm_to_node(int nid);
12
13 #define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT))
14
15 extern void numa_add_cpu(int cpu);
16 extern void numa_init_array(void);
17 extern int numa_off;
18
19 extern void numa_set_node(int cpu, int node);
20 extern void srat_reserve_add_area(int nodeid);
21 extern int hotadd_percent;
22
23 extern unsigned char apicid_to_node[256];
24 #ifdef CONFIG_NUMA
25 extern void __init init_cpu_to_node(void);
26
27 static inline void clear_node_cpumask(int cpu)
28 {
29         clear_bit(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
30 }
31
32 #else
33 #define init_cpu_to_node() do {} while (0)
34 #define clear_node_cpumask(cpu) do {} while (0)
35 #endif
36
37 #define NUMA_NO_NODE 0xff
38
39 #endif