Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
sparsemem.h
Go to the documentation of this file.
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
19 extern int create_section_mapping(unsigned long start, unsigned long end);
20 extern int remove_section_mapping(unsigned long start, unsigned long end);
21 #ifdef CONFIG_NUMA
22 extern int hot_add_scn_to_nid(unsigned long scn_addr);
23 #else
24 static inline int hot_add_scn_to_nid(unsigned long scn_addr)
25 {
26  return 0;
27 }
28 #endif /* CONFIG_NUMA */
29 #endif /* CONFIG_MEMORY_HOTPLUG */
30 
31 #endif /* __KERNEL__ */
32 #endif /* _ASM_POWERPC_SPARSEMEM_H */