[RFC 0/6] KVM: arm64: Add support for virt TLBID
Jinqian Yang
yangjinqian1 at huawei.com
Thu Oct 29 23:56:11 PDT 2026
Hi,
This series adds virtual TLBID (vTLBID) support for KVM guests, built
on top of Kristina's TLBID domains RFC [1]. It lets a guest use TLBI
domains of its own, translated by KVM into physical domains via the
VTLBIDn_EL2 registers, so guest TLBIs only reach the physical CPUs
where the guest's vCPUs actually run.
The series adds:
- KVM_CAP_ARM_TLBIDOMAIN plus two ioctls to configure each vCPU's
vDomain membership;
- programming of VTLBIDn_EL2 at vCPU load/put, mapping vDomains to
the smallest physical domain covering the vCPUs in them;
- a guest-visible TLBIDIDR_EL1 with virtual domain counts, and
conditional exposure of ID_AA64MMFR4_EL1.TLBID once userspace
configures vDomains;
- tracepoints for the vDomain load path.
Known limitations:
- VHE only: VTLBIDn_EL2 cannot be written from EL1, so vTLBID is
disabled on nVHE hosts.
- No interaction with nested virtualization is modelled yet.
- The guest is told about OS domains (NOS), but VTLBIDOSn_EL2 is
never programmed, so outer-shareable domain TLBIs are broadcast.
[1] https://lore.kernel.org/all/20261001110655.461473-1-kristina.martsenko@arm.com/
Jinqian Yang (6):
KVM: arm64: Introduce TLBID virtualization infrastructure
KVM: arm64: Add VTLBID sysregs and update VTLBID(n) on vCPU load
KVM: arm64: Wire up TLBID vDomain configuration ioctls
KVM: arm64: Emulate TLBIDIDR_EL1 with virtual domain counts
KVM: arm64: Conditionally expose ID_AA64MMFR4_EL1.TLBID to guest
KVM: arm64: Add tracepoints for TLBID vDomain load events
More information about the linux-arm-kernel
mailing list