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 8 struct numa_memblk { 9 u64 start; 10 u64 end; 11 int nid; 12 }; 13 14 struct numa_meminfo { 15 int nr_blks; 16 struct numa_memblk blk[NR_NODE_MEMBLKS]; 17 }; 18 19 void __init numa_remove_memblk_from(int idx, struct numa_meminfo *mi); 20 int __init numa_cleanup_meminfo(struct numa_meminfo *mi); 21 void __init numa_reset_distance(void); 22 23 void __init x86_numa_init(void); 24 25 #ifdef CONFIG_NUMA_EMU 26 void __init numa_emulation(struct numa_meminfo *numa_meminfo, 27 int numa_dist_cnt); 28 #else 29 static 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 */ 35