Commit 8a423ff0 authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Ingo Molnar

x86: merge include/asm-x86/sparsemem.h

Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 4757d7d8
...@@ -41,6 +41,8 @@ static inline __attribute__((pure)) int phys_to_nid(unsigned long addr) ...@@ -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 + \ #define node_end_pfn(nid) (NODE_DATA(nid)->node_start_pfn + \
NODE_DATA(nid)->node_spanned_pages) NODE_DATA(nid)->node_spanned_pages)
extern int early_pfn_to_nid(unsigned long pfn);
#ifdef CONFIG_DISCONTIGMEM #ifdef CONFIG_DISCONTIGMEM
#define pfn_to_nid(pfn) phys_to_nid((unsigned long)(pfn) << PAGE_SHIFT) #define pfn_to_nid(pfn) phys_to_nid((unsigned long)(pfn) << PAGE_SHIFT)
......
#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_32
# include "sparsemem_32.h" # ifdef CONFIG_X86_PAE
#else # define SECTION_SIZE_BITS 30
# include "sparsemem_64.h" # 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 #endif
#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 */
#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 */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment