This patchset unifies FIXADDR_TOP as a variable for x86, allowing the fixmap area to be movable and relocated with the kernel image in the x86/PIE patchset [0]. This enables the kernel image to be relocated in the top 512G of the address space.
[0] https://lore.kernel.org/lkml/cover.1682673542.git.houwenlong....@antgroup.com Hou Wenlong (4): x86/vsyscall: Don't use set_fixmap() to map vsyscall page x86/xen: Pin up to VSYSCALL_ADDR when vsyscall page is out of fixmap area x86/fixmap: Move vsyscall page out of fixmap area x86/fixmap: Unify FIXADDR_TOP arch/x86/entry/vsyscall/vsyscall_64.c | 7 +----- arch/x86/include/asm/fixmap.h | 28 ++++------------------- arch/x86/include/asm/paravirt.h | 7 ++++++ arch/x86/include/asm/paravirt_types.h | 4 ++++ arch/x86/include/asm/vsyscall.h | 13 +++++++++++ arch/x86/kernel/head64.c | 1 - arch/x86/kernel/head_64.S | 6 ++--- arch/x86/kernel/paravirt.c | 4 ++++ arch/x86/mm/dump_pagetables.c | 3 ++- arch/x86/mm/fault.c | 1 - arch/x86/mm/init_64.c | 2 +- arch/x86/mm/ioremap.c | 5 ++--- arch/x86/mm/pgtable.c | 13 +++++++++++ arch/x86/mm/pgtable_32.c | 3 --- arch/x86/xen/mmu_pv.c | 32 +++++++++++++++++++-------- 15 files changed, 77 insertions(+), 52 deletions(-) base-commit: f585d5177e1aad174fd6da0e3936b682ed58ced0 -- 2.31.1