sparsemem.h 843 B

123456789101112131415161718192021222324252627282930
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef _ASM_POWERPC_SPARSEMEM_H
  3. #define _ASM_POWERPC_SPARSEMEM_H 1
  4. #ifdef __KERNEL__
  5. #ifdef CONFIG_SPARSEMEM
  6. /*
  7. * SECTION_SIZE_BITS 2^N: how big each section will be
  8. * MAX_PHYSMEM_BITS 2^N: how much memory we can have in that space
  9. */
  10. #define SECTION_SIZE_BITS 24
  11. #endif /* CONFIG_SPARSEMEM */
  12. #ifdef CONFIG_MEMORY_HOTPLUG
  13. extern int remove_section_mapping(unsigned long start, unsigned long end);
  14. extern int memory_add_physaddr_to_nid(u64 start);
  15. #define memory_add_physaddr_to_nid memory_add_physaddr_to_nid
  16. #ifdef CONFIG_NUMA
  17. extern int hot_add_scn_to_nid(unsigned long scn_addr);
  18. #else
  19. static inline int hot_add_scn_to_nid(unsigned long scn_addr)
  20. {
  21. return 0;
  22. }
  23. #endif /* CONFIG_NUMA */
  24. #endif /* CONFIG_MEMORY_HOTPLUG */
  25. #endif /* __KERNEL__ */
  26. #endif /* _ASM_POWERPC_SPARSEMEM_H */