diff options
Diffstat (limited to 'include/asm-x86/page_64.h')
-rw-r--r-- | include/asm-x86/page_64.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/include/asm-x86/page_64.h b/include/asm-x86/page_64.h index 6ea72859c491..c6916c83e6b1 100644 --- a/include/asm-x86/page_64.h +++ b/include/asm-x86/page_64.h | |||
@@ -26,7 +26,13 @@ | |||
26 | #define PUD_PAGE_SIZE (_AC(1, UL) << PUD_SHIFT) | 26 | #define PUD_PAGE_SIZE (_AC(1, UL) << PUD_SHIFT) |
27 | #define PUD_PAGE_MASK (~(PUD_PAGE_SIZE-1)) | 27 | #define PUD_PAGE_MASK (~(PUD_PAGE_SIZE-1)) |
28 | 28 | ||
29 | #define __PAGE_OFFSET _AC(0xffff810000000000, UL) | 29 | /* |
30 | * Set __PAGE_OFFSET to the most negative possible address + | ||
31 | * PGDIR_SIZE*16 (pgd slot 272). The gap is to allow a space for a | ||
32 | * hypervisor to fit. Choosing 16 slots here is arbitrary, but it's | ||
33 | * what Xen requires. | ||
34 | */ | ||
35 | #define __PAGE_OFFSET _AC(0xffff880000000000, UL) | ||
30 | 36 | ||
31 | #define __PHYSICAL_START CONFIG_PHYSICAL_START | 37 | #define __PHYSICAL_START CONFIG_PHYSICAL_START |
32 | #define __KERNEL_ALIGN 0x200000 | 38 | #define __KERNEL_ALIGN 0x200000 |
@@ -58,7 +64,8 @@ | |||
58 | void clear_page(void *page); | 64 | void clear_page(void *page); |
59 | void copy_page(void *to, void *from); | 65 | void copy_page(void *to, void *from); |
60 | 66 | ||
61 | extern unsigned long end_pfn; | 67 | /* duplicated to the one in bootmem.h */ |
68 | extern unsigned long max_pfn; | ||
62 | extern unsigned long phys_base; | 69 | extern unsigned long phys_base; |
63 | 70 | ||
64 | extern unsigned long __phys_addr(unsigned long); | 71 | extern unsigned long __phys_addr(unsigned long); |
@@ -83,10 +90,15 @@ typedef struct { pteval_t pte; } pte_t; | |||
83 | extern unsigned long init_memory_mapping(unsigned long start, | 90 | extern unsigned long init_memory_mapping(unsigned long start, |
84 | unsigned long end); | 91 | unsigned long end); |
85 | 92 | ||
93 | extern void initmem_init(unsigned long start_pfn, unsigned long end_pfn); | ||
94 | |||
95 | extern void init_extra_mapping_uc(unsigned long phys, unsigned long size); | ||
96 | extern void init_extra_mapping_wb(unsigned long phys, unsigned long size); | ||
97 | |||
86 | #endif /* !__ASSEMBLY__ */ | 98 | #endif /* !__ASSEMBLY__ */ |
87 | 99 | ||
88 | #ifdef CONFIG_FLATMEM | 100 | #ifdef CONFIG_FLATMEM |
89 | #define pfn_valid(pfn) ((pfn) < end_pfn) | 101 | #define pfn_valid(pfn) ((pfn) < max_pfn) |
90 | #endif | 102 | #endif |
91 | 103 | ||
92 | 104 | ||