1 #ifndef _ASM_X86_NUMA_64_H 2 #define _ASM_X86_NUMA_64_H 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 init_cpu_to_node(void)36static inline void init_cpu_to_node(void) { } numa_set_node(int cpu,int node)37static inline void numa_set_node(int cpu, int node) { } numa_clear_node(int cpu)38static inline void numa_clear_node(int cpu) { } numa_add_cpu(int cpu,int node)39static inline void numa_add_cpu(int cpu, int node) { } numa_remove_cpu(int cpu)40static inline void numa_remove_cpu(int cpu) { } 41 #endif 42 43 #endif /* _ASM_X86_NUMA_64_H */ 44