x86: Move some contents of page_64_types.h into pgtable_64.h and page_64.h
This patch is meant to clean-up the fact that we have several functions in page_64_types.h which really don't belong there. I found this issue when I had tried to replace __phys_addr with an inline function. It resulted in the realmode bits generating compile warnings about types. In order to resolve that I am relocating the address translation to page_64.h since this is in keeping with where these functions are located in 32 bit. In addtion I have relocated several functions defined in init_64.c to pgtable_64.h as this seems to be where most of the functions related to memory initialization were already located. [ hpa: added missing #include <asm/pgtable.h> to apic_numachip.c, as reported by Yinghai Lu. ] Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Link: http://lkml.kernel.org/r/20121116215244.8521.31505.stgit@ahduyck-cp1.jf.intel.com Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> Cc: Yinghai Lu <yinghai@kernel.org> Cc: Daniel J Blueman <daniel@numascale-asia.com>
This commit is contained in:
parent
77b67063bb
commit
fb50b020c5
4 changed files with 25 additions and 22 deletions
|
@ -3,4 +3,23 @@
|
|||
|
||||
#include <asm/page_64_types.h>
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
/* duplicated to the one in bootmem.h */
|
||||
extern unsigned long max_pfn;
|
||||
extern unsigned long phys_base;
|
||||
|
||||
extern unsigned long __phys_addr(unsigned long);
|
||||
|
||||
#define __phys_reloc_hide(x) (x)
|
||||
|
||||
#ifdef CONFIG_FLATMEM
|
||||
#define pfn_valid(pfn) ((pfn) < max_pfn)
|
||||
#endif
|
||||
|
||||
void clear_page(void *page);
|
||||
void copy_page(void *to, void *from);
|
||||
|
||||
#endif /* !__ASSEMBLY__ */
|
||||
|
||||
#endif /* _ASM_X86_PAGE_64_H */
|
||||
|
|
|
@ -50,26 +50,4 @@
|
|||
#define KERNEL_IMAGE_SIZE (512 * 1024 * 1024)
|
||||
#define KERNEL_IMAGE_START _AC(0xffffffff80000000, UL)
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
void clear_page(void *page);
|
||||
void copy_page(void *to, void *from);
|
||||
|
||||
/* duplicated to the one in bootmem.h */
|
||||
extern unsigned long max_pfn;
|
||||
extern unsigned long phys_base;
|
||||
|
||||
extern unsigned long __phys_addr(unsigned long);
|
||||
#define __phys_reloc_hide(x) (x)
|
||||
|
||||
#define vmemmap ((struct page *)VMEMMAP_START)
|
||||
|
||||
extern void init_extra_mapping_uc(unsigned long phys, unsigned long size);
|
||||
extern void init_extra_mapping_wb(unsigned long phys, unsigned long size);
|
||||
|
||||
#endif /* !__ASSEMBLY__ */
|
||||
|
||||
#ifdef CONFIG_FLATMEM
|
||||
#define pfn_valid(pfn) ((pfn) < max_pfn)
|
||||
#endif
|
||||
|
||||
#endif /* _ASM_X86_PAGE_64_DEFS_H */
|
||||
|
|
|
@ -183,6 +183,11 @@ extern void cleanup_highmap(void);
|
|||
|
||||
#define __HAVE_ARCH_PTE_SAME
|
||||
|
||||
#define vmemmap ((struct page *)VMEMMAP_START)
|
||||
|
||||
extern void init_extra_mapping_uc(unsigned long phys, unsigned long size);
|
||||
extern void init_extra_mapping_wb(unsigned long phys, unsigned long size);
|
||||
|
||||
#endif /* !__ASSEMBLY__ */
|
||||
|
||||
#endif /* _ASM_X86_PGTABLE_64_H */
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#include <asm/apic.h>
|
||||
#include <asm/ipi.h>
|
||||
#include <asm/apic_flat_64.h>
|
||||
#include <asm/pgtable.h>
|
||||
|
||||
static int numachip_system __read_mostly;
|
||||
|
||||
|
|
Loading…
Reference in a new issue