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