blob: ad86ec91e640f15063a7a111c731fed39cd81b7c [file] [log] [blame]
Tejun Heob8ef9172011-02-22 11:10:08 +01001#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
7struct numa_memblk {
8 u64 start;
9 u64 end;
10 int nid;
11};
12
13struct numa_meminfo {
14 int nr_blks;
15 struct numa_memblk blk[NR_NODE_MEMBLKS];
16};
17
18void __init numa_remove_memblk_from(int idx, struct numa_meminfo *mi);
19int __init numa_cleanup_meminfo(struct numa_meminfo *mi);
20void __init numa_reset_distance(void);
21
Tejun Heoa4106ea2011-05-02 14:18:53 +020022void __init x86_numa_init(void);
23
Tejun Heob8ef9172011-02-22 11:10:08 +010024#ifdef CONFIG_NUMA_EMU
25void __init numa_emulation(struct numa_meminfo *numa_meminfo,
26 int numa_dist_cnt);
27#else
28static 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 */