numa_internal.h 765 B

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