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