| .. | .. |
|---|
| 26 | 26 | |
|---|
| 27 | 27 | #ifndef __ASSEMBLY__ |
|---|
| 28 | 28 | #include <linux/kernel.h> |
|---|
| 29 | | -#include <asm/acpi.h> |
|---|
| 30 | 29 | #include <asm/apicdef.h> |
|---|
| 31 | 30 | #include <asm/page.h> |
|---|
| 31 | +#include <asm/pgtable_types.h> |
|---|
| 32 | 32 | #ifdef CONFIG_X86_32 |
|---|
| 33 | 33 | #include <linux/threads.h> |
|---|
| 34 | | -#include <asm/kmap_types.h> |
|---|
| 34 | +#include <asm/kmap_size.h> |
|---|
| 35 | 35 | #else |
|---|
| 36 | 36 | #include <uapi/asm/vsyscall.h> |
|---|
| 37 | 37 | #endif |
|---|
| .. | .. |
|---|
| 42 | 42 | * Because of this, FIXADDR_TOP x86 integration was left as later work. |
|---|
| 43 | 43 | */ |
|---|
| 44 | 44 | #ifdef CONFIG_X86_32 |
|---|
| 45 | | -/* used by vmalloc.c, vsyscall.lds.S. |
|---|
| 46 | | - * |
|---|
| 45 | +/* |
|---|
| 47 | 46 | * Leave one empty page between vmalloc'ed areas and |
|---|
| 48 | 47 | * the start of the fixmap. |
|---|
| 49 | 48 | */ |
|---|
| .. | .. |
|---|
| 95 | 94 | #endif |
|---|
| 96 | 95 | #ifdef CONFIG_X86_32 |
|---|
| 97 | 96 | FIX_KMAP_BEGIN, /* reserved pte's for temporary kernel mappings */ |
|---|
| 98 | | - FIX_KMAP_END = FIX_KMAP_BEGIN+(KM_TYPE_NR*NR_CPUS)-1, |
|---|
| 97 | + FIX_KMAP_END = FIX_KMAP_BEGIN + (KM_MAX_IDX * NR_CPUS) - 1, |
|---|
| 99 | 98 | #ifdef CONFIG_PCI_MMCONFIG |
|---|
| 100 | 99 | FIX_PCIE_MCFG, |
|---|
| 101 | 100 | #endif |
|---|
| 102 | 101 | #endif |
|---|
| 103 | | -#ifdef CONFIG_PARAVIRT |
|---|
| 102 | +#ifdef CONFIG_PARAVIRT_XXL |
|---|
| 104 | 103 | FIX_PARAVIRT_BOOTMAP, |
|---|
| 105 | 104 | #endif |
|---|
| 106 | | - FIX_TEXT_POKE1, /* reserve 2 pages for text_poke() */ |
|---|
| 107 | | - FIX_TEXT_POKE0, /* first page is last, because allocation is backward */ |
|---|
| 108 | 105 | #ifdef CONFIG_X86_INTEL_MID |
|---|
| 109 | 106 | FIX_LNW_VRTC, |
|---|
| 110 | 107 | #endif |
|---|
| .. | .. |
|---|
| 122 | 119 | * before ioremap() is functional. |
|---|
| 123 | 120 | * |
|---|
| 124 | 121 | * If necessary we round it up to the next 512 pages boundary so |
|---|
| 125 | | - * that we can have a single pgd entry and a single pte table: |
|---|
| 122 | + * that we can have a single pmd entry and a single pte table: |
|---|
| 126 | 123 | */ |
|---|
| 127 | 124 | #define NR_FIX_BTMAPS 64 |
|---|
| 128 | 125 | #define FIX_BTMAPS_SLOTS 8 |
|---|
| .. | .. |
|---|
| 154 | 151 | |
|---|
| 155 | 152 | extern int fixmaps_set; |
|---|
| 156 | 153 | |
|---|
| 157 | | -extern pte_t *kmap_pte; |
|---|
| 158 | | -#define kmap_prot PAGE_KERNEL |
|---|
| 159 | 154 | extern pte_t *pkmap_page_table; |
|---|
| 160 | 155 | |
|---|
| 161 | 156 | void __native_set_fixmap(enum fixed_addresses idx, pte_t pte); |
|---|
| 162 | 157 | void native_set_fixmap(unsigned /* enum fixed_addresses */ idx, |
|---|
| 163 | 158 | phys_addr_t phys, pgprot_t flags); |
|---|
| 164 | 159 | |
|---|
| 165 | | -#ifndef CONFIG_PARAVIRT |
|---|
| 160 | +#ifndef CONFIG_PARAVIRT_XXL |
|---|
| 166 | 161 | static inline void __set_fixmap(enum fixed_addresses idx, |
|---|
| 167 | 162 | phys_addr_t phys, pgprot_t flags) |
|---|
| 168 | 163 | { |
|---|