x86: Unify node_to_cpumask_map handling between 32 and 64bit
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / arch / x86 / include / asm / numa_64.h
blob123f1856101cc9b7a7a7bf826fb7e98ea3628576
1 #ifndef _ASM_X86_NUMA_64_H
2 #define _ASM_X86_NUMA_64_H
4 #include <linux/nodemask.h>
6 struct bootnode {
7 u64 start;
8 u64 end;
9 };
11 extern int compute_hash_shift(struct bootnode *nodes, int numblks,
12 int *nodeids);
14 #define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT))
16 extern void numa_init_array(void);
17 extern int numa_off;
19 extern unsigned long numa_free_all_bootmem(void);
20 extern void setup_node_bootmem(int nodeid, unsigned long start,
21 unsigned long end);
23 #ifdef CONFIG_NUMA
25 * Too small node sizes may confuse the VM badly. Usually they
26 * result from BIOS bugs. So dont recognize nodes as standalone
27 * NUMA entities that have less than this amount of RAM listed:
29 #define NODE_MIN_SIZE (4*1024*1024)
31 extern void __init init_cpu_to_node(void);
32 extern int __cpuinit numa_cpu_node(int cpu);
34 #ifdef CONFIG_NUMA_EMU
35 #define FAKE_NODE_MIN_SIZE ((u64)32 << 20)
36 #define FAKE_NODE_MIN_HASH_MASK (~(FAKE_NODE_MIN_SIZE - 1UL))
37 void numa_emu_cmdline(char *);
38 #endif /* CONFIG_NUMA_EMU */
39 #else
40 static inline void init_cpu_to_node(void) { }
41 static inline int numa_cpu_node(int cpu) { return NUMA_NO_NODE; }
42 #endif
44 #endif /* _ASM_X86_NUMA_64_H */