/arch/x86/include/asm/sparsemem.h
C Header | 34 lines | 20 code | 3 blank | 11 comment | 0 complexity | 8c75282f5410a18a2b99236fac429dc2 MD5 | raw file
Possible License(s): LGPL-2.0, AGPL-1.0, GPL-2.0
- #ifndef _ASM_X86_SPARSEMEM_H
- #define _ASM_X86_SPARSEMEM_H
- #ifdef CONFIG_SPARSEMEM
- /*
- * generic non-linear memory support:
- *
- * 1) we will not split memory into more chunks than will fit into the flags
- * field of the struct page
- *
- * SECTION_SIZE_BITS 2^n: size of each section
- * MAX_PHYSADDR_BITS 2^n: max size of physical address space
- * MAX_PHYSMEM_BITS 2^n: how much memory we can have in that space
- *
- */
- #ifdef CONFIG_X86_32
- # ifdef CONFIG_X86_PAE
- # define SECTION_SIZE_BITS 29
- # define MAX_PHYSADDR_BITS 36
- # define MAX_PHYSMEM_BITS 36
- # else
- # define SECTION_SIZE_BITS 26
- # define MAX_PHYSADDR_BITS 32
- # define MAX_PHYSMEM_BITS 32
- # endif
- #else /* CONFIG_X86_32 */
- # define SECTION_SIZE_BITS 27 /* matt - 128 is convenient right now */
- # define MAX_PHYSADDR_BITS 44
- # define MAX_PHYSMEM_BITS 46
- #endif
- #endif /* CONFIG_SPARSEMEM */
- #endif /* _ASM_X86_SPARSEMEM_H */