|
|
@@ -102,25 +102,29 @@ extern unsigned int ptrs_per_p4d;
|
|
|
#define LDT_PGD_ENTRY (pgtable_l5_enabled ? LDT_PGD_ENTRY_L5 : LDT_PGD_ENTRY_L4)
|
|
|
#define LDT_BASE_ADDR (LDT_PGD_ENTRY << PGDIR_SHIFT)
|
|
|
|
|
|
+#define __VMALLOC_BASE_L4 0xffffc90000000000
|
|
|
+#define __VMALLOC_BASE_L5 0xffa0000000000000
|
|
|
+
|
|
|
+#define VMALLOC_SIZE_TB_L4 32UL
|
|
|
+#define VMALLOC_SIZE_TB_L5 12800UL
|
|
|
+
|
|
|
#ifdef CONFIG_X86_5LEVEL
|
|
|
-# define VMALLOC_SIZE_TB _AC(12800, UL)
|
|
|
-# define __VMALLOC_BASE _AC(0xffa0000000000000, UL)
|
|
|
# define __VMEMMAP_BASE _AC(0xffd4000000000000, UL)
|
|
|
#else
|
|
|
-# define VMALLOC_SIZE_TB _AC(32, UL)
|
|
|
-# define __VMALLOC_BASE _AC(0xffffc90000000000, UL)
|
|
|
# define __VMEMMAP_BASE _AC(0xffffea0000000000, UL)
|
|
|
#endif
|
|
|
|
|
|
#ifdef CONFIG_DYNAMIC_MEMORY_LAYOUT
|
|
|
# define VMALLOC_START vmalloc_base
|
|
|
+# define VMALLOC_SIZE_TB (pgtable_l5_enabled ? VMALLOC_SIZE_TB_L5 : VMALLOC_SIZE_TB_L4)
|
|
|
# define VMEMMAP_START vmemmap_base
|
|
|
#else
|
|
|
-# define VMALLOC_START __VMALLOC_BASE
|
|
|
+# define VMALLOC_START __VMALLOC_BASE_L4
|
|
|
+# define VMALLOC_SIZE_TB VMALLOC_SIZE_TB_L4
|
|
|
# define VMEMMAP_START __VMEMMAP_BASE
|
|
|
#endif /* CONFIG_DYNAMIC_MEMORY_LAYOUT */
|
|
|
|
|
|
-#define VMALLOC_END (VMALLOC_START + _AC((VMALLOC_SIZE_TB << 40) - 1, UL))
|
|
|
+#define VMALLOC_END (VMALLOC_START + (VMALLOC_SIZE_TB << 40) - 1)
|
|
|
|
|
|
#define MODULES_VADDR (__START_KERNEL_map + KERNEL_IMAGE_SIZE)
|
|
|
/* The module sections ends with the start of the fixmap */
|