[PATCH RFC 0/4] x86/fixmap: Unify FIXADDR_TOP

From: Hou Wenlong
Date: Mon May 15 2023 - 04:22:21 EST


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.hwl@xxxxxxxxxxxx

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