Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1#ifndef _ASM_POWERPC_SPARSEMEM_H
2#define _ASM_POWERPC_SPARSEMEM_H 1
3#ifdef __KERNEL__
4
5#ifdef CONFIG_SPARSEMEM
6/*
7 * SECTION_SIZE_BITS 2^N: how big each section will be
8 * MAX_PHYSADDR_BITS 2^N: how much physical address space we have
9 * MAX_PHYSMEM_BITS 2^N: how much memory we can have in that space
10 */
11#define SECTION_SIZE_BITS 24
12
13#define MAX_PHYSADDR_BITS 46
14#define MAX_PHYSMEM_BITS 46
15
16#endif /* CONFIG_SPARSEMEM */
17
18#ifdef CONFIG_MEMORY_HOTPLUG
19extern int create_section_mapping(unsigned long start, unsigned long end);
20extern int remove_section_mapping(unsigned long start, unsigned long end);
21
22#ifdef CONFIG_PPC_BOOK3S_64
23extern void resize_hpt_for_hotplug(unsigned long new_mem_size);
24#else
25static inline void resize_hpt_for_hotplug(unsigned long new_mem_size) { }
26#endif
27
28#ifdef CONFIG_NUMA
29extern int hot_add_scn_to_nid(unsigned long scn_addr);
30#else
31static inline int hot_add_scn_to_nid(unsigned long scn_addr)
32{
33 return 0;
34}
35#endif /* CONFIG_NUMA */
36#endif /* CONFIG_MEMORY_HOTPLUG */
37
38#endif /* __KERNEL__ */
39#endif /* _ASM_POWERPC_SPARSEMEM_H */