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