Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef __X86_MM_NUMA_INTERNAL_H
0003 #define __X86_MM_NUMA_INTERNAL_H
0004 
0005 #include <linux/types.h>
0006 #include <asm/numa.h>
0007 
0008 struct numa_memblk {
0009     u64         start;
0010     u64         end;
0011     int         nid;
0012 };
0013 
0014 struct numa_meminfo {
0015     int         nr_blks;
0016     struct numa_memblk  blk[NR_NODE_MEMBLKS];
0017 };
0018 
0019 void __init numa_remove_memblk_from(int idx, struct numa_meminfo *mi);
0020 int __init numa_cleanup_meminfo(struct numa_meminfo *mi);
0021 void __init numa_reset_distance(void);
0022 
0023 void __init x86_numa_init(void);
0024 
0025 #ifdef CONFIG_NUMA_EMU
0026 void __init numa_emulation(struct numa_meminfo *numa_meminfo,
0027                int numa_dist_cnt);
0028 #else
0029 static inline void numa_emulation(struct numa_meminfo *numa_meminfo,
0030                   int numa_dist_cnt)
0031 { }
0032 #endif
0033 
0034 #endif  /* __X86_MM_NUMA_INTERNAL_H */