OSDN Git Service

3192d454a733ad6f31e9ecf2a702a6795ad1e1c1
[tomoyo/tomoyo-test1.git] / arch / powerpc / include / asm / sparsemem.h
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 create_section_mapping(unsigned long start, unsigned long end, int nid);
17 extern int remove_section_mapping(unsigned long start, unsigned long end);
18
19 #ifdef CONFIG_PPC_BOOK3S_64
20 extern int resize_hpt_for_hotplug(unsigned long new_mem_size);
21 #else
22 static inline int resize_hpt_for_hotplug(unsigned long new_mem_size) { return 0; }
23 #endif
24
25 #ifdef CONFIG_NUMA
26 extern int hot_add_scn_to_nid(unsigned long scn_addr);
27 #else
28 static inline int hot_add_scn_to_nid(unsigned long scn_addr)
29 {
30         return 0;
31 }
32 #endif /* CONFIG_NUMA */
33 #endif /* CONFIG_MEMORY_HOTPLUG */
34
35 #endif /* __KERNEL__ */
36 #endif /* _ASM_POWERPC_SPARSEMEM_H */