sparsemem.h 905 B

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