xref: /linux/arch/x86/mm/numa_internal.h (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
1 #ifndef __X86_MM_NUMA_INTERNAL_H
2 #define __X86_MM_NUMA_INTERNAL_H
3 
4 #include <linux/types.h>
5 #include <asm/numa.h>
6 
7 struct numa_memblk {
8 	u64			start;
9 	u64			end;
10 	int			nid;
11 };
12 
13 struct numa_meminfo {
14 	int			nr_blks;
15 	struct numa_memblk	blk[NR_NODE_MEMBLKS];
16 };
17 
18 void __init numa_remove_memblk_from(int idx, struct numa_meminfo *mi);
19 int __init numa_cleanup_meminfo(struct numa_meminfo *mi);
20 void __init numa_reset_distance(void);
21 
22 void __init x86_numa_init(void);
23 
24 #ifdef CONFIG_NUMA_EMU
25 void __init numa_emulation(struct numa_meminfo *numa_meminfo,
26 			   int numa_dist_cnt);
27 #else
28 static inline void numa_emulation(struct numa_meminfo *numa_meminfo,
29 				  int numa_dist_cnt)
30 { }
31 #endif
32 
33 #endif	/* __X86_MM_NUMA_INTERNAL_H */
34