diff options
-rw-r--r-- | Documentation/x86/x86_64/mm.txt | 5 | ||||
-rw-r--r-- | arch/x86/include/asm/pgtable_64_types.h | 3 | ||||
-rw-r--r-- | arch/x86/kernel/module.c | 1 | ||||
-rw-r--r-- | arch/x86/mm/dump_pagetables.c | 1 | ||||
-rw-r--r-- | arch/x86/mm/kasan_init_64.c | 1 | ||||
-rw-r--r-- | mm/vmalloc.c | 4 |
6 files changed, 13 insertions, 2 deletions
diff --git a/Documentation/x86/x86_64/mm.txt b/Documentation/x86/x86_64/mm.txt index 5724092db811..ee3f9c30957c 100644 --- a/Documentation/x86/x86_64/mm.txt +++ b/Documentation/x86/x86_64/mm.txt | |||
@@ -19,7 +19,7 @@ ffffff0000000000 - ffffff7fffffffff (=39 bits) %esp fixup stacks | |||
19 | ffffffef00000000 - fffffffeffffffff (=64 GB) EFI region mapping space | 19 | ffffffef00000000 - fffffffeffffffff (=64 GB) EFI region mapping space |
20 | ... unused hole ... | 20 | ... unused hole ... |
21 | ffffffff80000000 - ffffffff9fffffff (=512 MB) kernel text mapping, from phys 0 | 21 | ffffffff80000000 - ffffffff9fffffff (=512 MB) kernel text mapping, from phys 0 |
22 | ffffffffa0000000 - ffffffffff5fffff (=1526 MB) module mapping space | 22 | ffffffffa0000000 - ffffffffff5fffff (=1526 MB) module mapping space (variable) |
23 | ffffffffff600000 - ffffffffffdfffff (=8 MB) vsyscalls | 23 | ffffffffff600000 - ffffffffffdfffff (=8 MB) vsyscalls |
24 | ffffffffffe00000 - ffffffffffffffff (=2 MB) unused hole | 24 | ffffffffffe00000 - ffffffffffffffff (=2 MB) unused hole |
25 | 25 | ||
@@ -39,6 +39,9 @@ memory window (this size is arbitrary, it can be raised later if needed). | |||
39 | The mappings are not part of any other kernel PGD and are only available | 39 | The mappings are not part of any other kernel PGD and are only available |
40 | during EFI runtime calls. | 40 | during EFI runtime calls. |
41 | 41 | ||
42 | The module mapping space size changes based on the CONFIG requirements for the | ||
43 | following fixmap section. | ||
44 | |||
42 | Note that if CONFIG_RANDOMIZE_MEMORY is enabled, the direct mapping of all | 45 | Note that if CONFIG_RANDOMIZE_MEMORY is enabled, the direct mapping of all |
43 | physical memory, vmalloc/ioremap space and virtual memory map are randomized. | 46 | physical memory, vmalloc/ioremap space and virtual memory map are randomized. |
44 | Their order is preserved but their base will be offset early at boot time. | 47 | Their order is preserved but their base will be offset early at boot time. |
diff --git a/arch/x86/include/asm/pgtable_64_types.h b/arch/x86/include/asm/pgtable_64_types.h index 0b2797e5083c..516593e66bd6 100644 --- a/arch/x86/include/asm/pgtable_64_types.h +++ b/arch/x86/include/asm/pgtable_64_types.h | |||
@@ -68,7 +68,8 @@ typedef struct { pteval_t pte; } pte_t; | |||
68 | #endif /* CONFIG_RANDOMIZE_MEMORY */ | 68 | #endif /* CONFIG_RANDOMIZE_MEMORY */ |
69 | #define VMALLOC_END (VMALLOC_START + _AC((VMALLOC_SIZE_TB << 40) - 1, UL)) | 69 | #define VMALLOC_END (VMALLOC_START + _AC((VMALLOC_SIZE_TB << 40) - 1, UL)) |
70 | #define MODULES_VADDR (__START_KERNEL_map + KERNEL_IMAGE_SIZE) | 70 | #define MODULES_VADDR (__START_KERNEL_map + KERNEL_IMAGE_SIZE) |
71 | #define MODULES_END _AC(0xffffffffff000000, UL) | 71 | /* The module sections ends with the start of the fixmap */ |
72 | #define MODULES_END __fix_to_virt(__end_of_fixed_addresses + 1) | ||
72 | #define MODULES_LEN (MODULES_END - MODULES_VADDR) | 73 | #define MODULES_LEN (MODULES_END - MODULES_VADDR) |
73 | #define ESPFIX_PGD_ENTRY _AC(-2, UL) | 74 | #define ESPFIX_PGD_ENTRY _AC(-2, UL) |
74 | #define ESPFIX_BASE_ADDR (ESPFIX_PGD_ENTRY << PGDIR_SHIFT) | 75 | #define ESPFIX_BASE_ADDR (ESPFIX_PGD_ENTRY << PGDIR_SHIFT) |
diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c index 477ae806c2fa..fad61caac75e 100644 --- a/arch/x86/kernel/module.c +++ b/arch/x86/kernel/module.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <asm/page.h> | 35 | #include <asm/page.h> |
36 | #include <asm/pgtable.h> | 36 | #include <asm/pgtable.h> |
37 | #include <asm/setup.h> | 37 | #include <asm/setup.h> |
38 | #include <asm/fixmap.h> | ||
38 | 39 | ||
39 | #if 0 | 40 | #if 0 |
40 | #define DEBUGP(fmt, ...) \ | 41 | #define DEBUGP(fmt, ...) \ |
diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c index 58b5bee7ea27..75efeecc85eb 100644 --- a/arch/x86/mm/dump_pagetables.c +++ b/arch/x86/mm/dump_pagetables.c | |||
@@ -20,6 +20,7 @@ | |||
20 | 20 | ||
21 | #include <asm/kasan.h> | 21 | #include <asm/kasan.h> |
22 | #include <asm/pgtable.h> | 22 | #include <asm/pgtable.h> |
23 | #include <asm/fixmap.h> | ||
23 | 24 | ||
24 | /* | 25 | /* |
25 | * The dumper groups pagetable entries of the same type into one, and for | 26 | * The dumper groups pagetable entries of the same type into one, and for |
diff --git a/arch/x86/mm/kasan_init_64.c b/arch/x86/mm/kasan_init_64.c index 8d63d7a104c3..1bde19ef86bd 100644 --- a/arch/x86/mm/kasan_init_64.c +++ b/arch/x86/mm/kasan_init_64.c | |||
@@ -9,6 +9,7 @@ | |||
9 | 9 | ||
10 | #include <asm/tlbflush.h> | 10 | #include <asm/tlbflush.h> |
11 | #include <asm/sections.h> | 11 | #include <asm/sections.h> |
12 | #include <asm/fixmap.h> | ||
12 | 13 | ||
13 | extern pgd_t early_level4_pgt[PTRS_PER_PGD]; | 14 | extern pgd_t early_level4_pgt[PTRS_PER_PGD]; |
14 | extern struct range pfn_mapped[E820_X_MAX]; | 15 | extern struct range pfn_mapped[E820_X_MAX]; |
diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 0dd80222b20b..b7d2a23349f4 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c | |||
@@ -36,6 +36,10 @@ | |||
36 | #include <asm/tlbflush.h> | 36 | #include <asm/tlbflush.h> |
37 | #include <asm/shmparam.h> | 37 | #include <asm/shmparam.h> |
38 | 38 | ||
39 | #ifdef CONFIG_X86 | ||
40 | # include <asm/fixmap.h> | ||
41 | #endif | ||
42 | |||
39 | #include "internal.h" | 43 | #include "internal.h" |
40 | 44 | ||
41 | struct vfree_deferred { | 45 | struct vfree_deferred { |