ARMv8.2 introduced support for VPIPT i-caches, the V standing for VMID-tagged. Although this looked like a reasonable idea, no implementation has ever made it into the wild. Linux has supported this for over 6 years (amusingly, just as the architecture was dropping support for AIVIVT i-caches), but we had no way to even test it, and it is likely that this code was just bit-rotting. However, in a recent breakthrough (XML drop 2023-09, tagged as d55f5af8e09052abe92a02adf820deea2eaed717), the architecture has finally been purged of this option, making VIPT and PIPT the only two valid options. This really means this code is just dead code. Nobody will ever come up with such an implementation, and we can just get rid of it. Most of the impact is on KVM, where we drop a few large comment blocks (and a bit of code), while the core arch code loses the detection code itself. * From v2: - Fix reserved naming for RESERVED_AIVIVT - Collected RBs from Anshuman an Zenghui Marc Zyngier (3): KVM: arm64: Remove VPIPT I-cache handling arm64: Kill detection of VPIPT i-cache policy arm64: Rename reserved values for CTR_EL0.L1Ip arch/arm64/include/asm/cache.h | 6 ---- arch/arm64/include/asm/kvm_mmu.h | 7 ---- arch/arm64/kernel/cpuinfo.c | 5 --- arch/arm64/kvm/hyp/nvhe/pkvm.c | 2 +- arch/arm64/kvm/hyp/nvhe/tlb.c | 61 -------------------------------- arch/arm64/kvm/hyp/vhe/tlb.c | 13 ------- arch/arm64/tools/sysreg | 5 +-- 7 files changed, 4 insertions(+), 95 deletions(-) -- 2.39.2