x86: cleanup e820_setup_gap(), add e820_search_gap(), v2
[linux-2.6] / include / asm-x86 / numa_64.h
1 #ifndef _ASM_X8664_NUMA_H
2 #define _ASM_X8664_NUMA_H 1
3
4 #include <linux/nodemask.h>
5 #include <asm/apicdef.h>
6
7 struct bootnode {
8         u64 start;
9         u64 end;
10 };
11
12 extern int compute_hash_shift(struct bootnode *nodes, int numblks,
13                               int *nodeids);
14
15 #define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT))
16
17 extern void numa_init_array(void);
18 extern int numa_off;
19
20 extern void srat_reserve_add_area(int nodeid);
21 extern int hotadd_percent;
22
23 extern s16 apicid_to_node[MAX_LOCAL_APIC];
24
25 extern unsigned long numa_free_all_bootmem(void);
26 extern void setup_node_bootmem(int nodeid, unsigned long start,
27                                unsigned long end);
28
29 #ifdef CONFIG_NUMA
30 extern void __init init_cpu_to_node(void);
31 extern void __cpuinit numa_set_node(int cpu, int node);
32 extern void __cpuinit numa_clear_node(int cpu);
33 extern void __cpuinit numa_add_cpu(int cpu);
34 extern void __cpuinit numa_remove_cpu(int cpu);
35 #else
36 static inline void init_cpu_to_node(void)               { }
37 static inline void numa_set_node(int cpu, int node)     { }
38 static inline void numa_clear_node(int cpu)             { }
39 static inline void numa_add_cpu(int cpu, int node)      { }
40 static inline void numa_remove_cpu(int cpu)             { }
41 #endif
42
43 #endif