1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_POWERPC_SPARSEMEM_H
3 #define _ASM_POWERPC_SPARSEMEM_H 1
6 #ifdef CONFIG_SPARSEMEM
8 * SECTION_SIZE_BITS 2^N: how big each section will be
9 * MAX_PHYSADDR_BITS 2^N: how much physical address space we have
10 * MAX_PHYSMEM_BITS 2^N: how much memory we can have in that space
12 #define SECTION_SIZE_BITS 24
14 #define MAX_PHYSADDR_BITS 46
15 #define MAX_PHYSMEM_BITS 46
17 #endif /* CONFIG_SPARSEMEM */
19 #ifdef CONFIG_MEMORY_HOTPLUG
20 extern int create_section_mapping(unsigned long start
, unsigned long end
);
21 extern int remove_section_mapping(unsigned long start
, unsigned long end
);
23 #ifdef CONFIG_PPC_BOOK3S_64
24 extern void resize_hpt_for_hotplug(unsigned long new_mem_size
);
26 static inline void resize_hpt_for_hotplug(unsigned long new_mem_size
) { }
30 extern int hot_add_scn_to_nid(unsigned long scn_addr
);
32 static inline int hot_add_scn_to_nid(unsigned long scn_addr
)
36 #endif /* CONFIG_NUMA */
37 #endif /* CONFIG_MEMORY_HOTPLUG */
39 #endif /* __KERNEL__ */
40 #endif /* _ASM_POWERPC_SPARSEMEM_H */