Commit | Line | Data |
---|---|---|
1965aae3 PA |
1 | #ifndef _ASM_X86_NUMA_64_H |
2 | #define _ASM_X86_NUMA_64_H | |
1da177e4 LT |
3 | |
4 | #include <linux/nodemask.h> | |
1da177e4 | 5 | |
abe059e7 | 6 | struct bootnode { |
cb046eed JP |
7 | u64 start; |
8 | u64 end; | |
1da177e4 LT |
9 | }; |
10 | ||
1da177e4 LT |
11 | #define ZONE_ALIGN (1UL << (MAX_ORDER+PAGE_SHIFT)) |
12 | ||
1da177e4 LT |
13 | extern int numa_off; |
14 | ||
aaa64e04 TG |
15 | extern unsigned long numa_free_all_bootmem(void); |
16 | extern void setup_node_bootmem(int nodeid, unsigned long start, | |
17 | unsigned long end); | |
18 | ||
05b3cbd8 | 19 | #ifdef CONFIG_NUMA |
7c43769a YL |
20 | /* |
21 | * Too small node sizes may confuse the VM badly. Usually they | |
22 | * result from BIOS bugs. So dont recognize nodes as standalone | |
23 | * NUMA entities that have less than this amount of RAM listed: | |
24 | */ | |
25 | #define NODE_MIN_SIZE (4*1024*1024) | |
26 | ||
92d4a437 | 27 | extern nodemask_t numa_nodes_parsed __initdata; |
ec8cf29b | 28 | |
bbc9e2f4 | 29 | extern int __cpuinit numa_cpu_node(int cpu); |
ef396ec9 | 30 | extern int __init numa_add_memblk(int nodeid, u64 start, u64 end); |
ac7136b6 | 31 | extern void __init numa_set_distance(int from, int to, int distance); |
8df5bb34 DR |
32 | |
33 | #ifdef CONFIG_NUMA_EMU | |
34dc9e74 | 34 | #define FAKE_NODE_MIN_SIZE ((u64)32 << 20) |
8df5bb34 | 35 | #define FAKE_NODE_MIN_HASH_MASK (~(FAKE_NODE_MIN_SIZE - 1UL)) |
90321602 | 36 | void numa_emu_cmdline(char *); |
8df5bb34 | 37 | #endif /* CONFIG_NUMA_EMU */ |
05b3cbd8 | 38 | #else |
bbc9e2f4 | 39 | static inline int numa_cpu_node(int cpu) { return NUMA_NO_NODE; } |
05b3cbd8 | 40 | #endif |
0b07e984 | 41 | |
1965aae3 | 42 | #endif /* _ASM_X86_NUMA_64_H */ |