Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
[linux-2.6] / include / asm-powerpc / sparsemem.h
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       44
14 #define MAX_PHYSMEM_BITS        44
15
16 #ifdef CONFIG_MEMORY_HOTPLUG
17 extern void create_section_mapping(unsigned long start, unsigned long end);
18 extern int remove_section_mapping(unsigned long start, unsigned long end);
19 #ifdef CONFIG_NUMA
20 extern int hot_add_scn_to_nid(unsigned long scn_addr);
21 #else
22 static inline int hot_add_scn_to_nid(unsigned long scn_addr)
23 {
24         return 0;
25 }
26 #endif /* CONFIG_NUMA */
27 #endif /* CONFIG_MEMORY_HOTPLUG */
28
29 #endif /* CONFIG_SPARSEMEM */
30
31 #endif /* __KERNEL__ */
32 #endif /* _ASM_POWERPC_SPARSEMEM_H */