[PATCH v3 0/5] KVM: arm64: nv: Implement nested stage-2 reverse map

From: Wei-Lin Chang

Date: Sun May 10 2026 - 10:54:29 EST


Hi,

This is v3 of optimizing the shadow s2 mmu unmapping during MMU
notifiers.

Two new preparatory patches are added, one reduces a hole in kvm_s2_mmu
and another refactors the code a bit during s2 faults. Other changes are
listed below.

* Changes from v2 [1]:

- Removed "polluted" teminology.

- Use xa_{mk, to}_value() when storing and retriving values from maple
trees.

- Avoid using the 63rd bit in maple tree values so that xa_{mk, to}_value()
does not lose us a bit.

- Added reverse map removal during TLBI handling.

- Other suggested refactorings.

Thanks!

[1]: https://lore.kernel.org/kvmarm/20260411125024.3735989-1-weilin.chang@xxxxxxx/

Wei-Lin Chang (5):
KVM: arm64: Use a variable for the canonical GPA in kvm_s2_fault_map()
KVM: arm64: Move shadow_pt_debugfs_dentry to reduce holes in
kvm_s2_mmu
KVM: arm64: nv: Avoid full shadow s2 unmap
KVM: arm64: nv: Remove reverse map entries during TLBI handling
KVM: arm64: nv: Create nested IPA direct map to speed up reverse map
removal

arch/arm64/include/asm/kvm_host.h | 17 +-
arch/arm64/include/asm/kvm_nested.h | 6 +
arch/arm64/kvm/mmu.c | 43 +++--
arch/arm64/kvm/nested.c | 238 +++++++++++++++++++++++++++-
arch/arm64/kvm/sys_regs.c | 3 +
5 files changed, 290 insertions(+), 17 deletions(-)

--
2.43.0