x86: merge include/asm-x86/sparsemem.h
Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Родитель
4757d7d8d0
Коммит
8a423ff0c4
|
@ -41,6 +41,8 @@ static inline __attribute__((pure)) int phys_to_nid(unsigned long addr)
|
|||
#define node_end_pfn(nid) (NODE_DATA(nid)->node_start_pfn + \
|
||||
NODE_DATA(nid)->node_spanned_pages)
|
||||
|
||||
extern int early_pfn_to_nid(unsigned long pfn);
|
||||
|
||||
#ifdef CONFIG_DISCONTIGMEM
|
||||
#define pfn_to_nid(pfn) phys_to_nid((unsigned long)(pfn) << PAGE_SHIFT)
|
||||
|
||||
|
|
|
@ -1,5 +1,34 @@
|
|||
#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
|
||||
# include "sparsemem_32.h"
|
||||
#else
|
||||
# include "sparsemem_64.h"
|
||||
# ifdef CONFIG_X86_PAE
|
||||
# define SECTION_SIZE_BITS 30
|
||||
# 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 40
|
||||
# define MAX_PHYSMEM_BITS 40
|
||||
#endif
|
||||
|
||||
#endif /* CONFIG_SPARSEMEM */
|
||||
#endif
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
#ifndef _I386_SPARSEMEM_H
|
||||
#define _I386_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: how big each section will be
|
||||
* MAX_PHYSADDR_BITS 2^N: how much physical address space we have
|
||||
* MAX_PHYSMEM_BITS 2^N: how much memory we can have in that space
|
||||
*/
|
||||
#ifdef CONFIG_X86_PAE
|
||||
#define SECTION_SIZE_BITS 30
|
||||
#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
|
||||
|
||||
#endif /* CONFIG_SPARSEMEM */
|
||||
#endif /* _I386_SPARSEMEM_H */
|
|
@ -1,26 +0,0 @@
|
|||
#ifndef _ASM_X86_64_SPARSEMEM_H
|
||||
#define _ASM_X86_64_SPARSEMEM_H 1
|
||||
|
||||
#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
|
||||
*
|
||||
*/
|
||||
|
||||
#define SECTION_SIZE_BITS 27 /* matt - 128 is convenient right now */
|
||||
#define MAX_PHYSADDR_BITS 40
|
||||
#define MAX_PHYSMEM_BITS 40
|
||||
|
||||
extern int early_pfn_to_nid(unsigned long pfn);
|
||||
|
||||
#endif /* CONFIG_SPARSEMEM */
|
||||
|
||||
#endif /* _ASM_X86_64_SPARSEMEM_H */
|
Загрузка…
Ссылка в новой задаче