Loading...
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __X86_MM_NUMA_INTERNAL_H
3#define __X86_MM_NUMA_INTERNAL_H
4
5#include <linux/types.h>
6#include <asm/numa.h>
7
8struct numa_memblk {
9 u64 start;
10 u64 end;
11 int nid;
12};
13
14struct numa_meminfo {
15 int nr_blks;
16 struct numa_memblk blk[NR_NODE_MEMBLKS];
17};
18
19void __init numa_remove_memblk_from(int idx, struct numa_meminfo *mi);
20int __init numa_cleanup_meminfo(struct numa_meminfo *mi);
21void __init numa_reset_distance(void);
22
23void __init x86_numa_init(void);
24
25#ifdef CONFIG_NUMA_EMU
26void __init numa_emulation(struct numa_meminfo *numa_meminfo,
27 int numa_dist_cnt);
28#else
29static inline void numa_emulation(struct numa_meminfo *numa_meminfo,
30 int numa_dist_cnt)
31{ }
32#endif
33
34#endif /* __X86_MM_NUMA_INTERNAL_H */
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
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
22void __init x86_numa_init(void);
23
24#ifdef CONFIG_X86_64
25static inline void init_alloc_remap(int nid, u64 start, u64 end) { }
26#else
27void __init init_alloc_remap(int nid, u64 start, u64 end);
28#endif
29
30#ifdef CONFIG_NUMA_EMU
31void __init numa_emulation(struct numa_meminfo *numa_meminfo,
32 int numa_dist_cnt);
33#else
34static inline void numa_emulation(struct numa_meminfo *numa_meminfo,
35 int numa_dist_cnt)
36{ }
37#endif
38
39#endif /* __X86_MM_NUMA_INTERNAL_H */