[PATCH v3 0/4] KVM: arm64: writable MIDR/REVIDR

Sebastian Ott
2025-02-18T16:34:49Z

Based on prior discussion [1] this series allows VMMs to change
MIDR/REVIDR to enable migration between machines that differ in
these registers. Since these are used for errata handling the
errata management series [2] is a prerequisite for this one.

changes for V3:
* handle VPIDR_EL2 as part of vcpu ctxt - thanks Oliver!

changes for V2:
* let the guest actually observe the changed MIDR_EL1 value
* extra .set_user function
* added selftest

[1] https://lore.kernel.org/kvmarm/20250124151732.6072-1-shameerali.kolothum.thodi@huawei.com/T/#mb855bc51714095a164a7b26bb8bead1606e4b753
[2] https://lore.kernel.org/kvmarm/20250205132222.55816-1-shameerali.kolothum.thodi@huawei.com/T/

Sebastian Ott (4):
KVM: arm64: Allow userspace to change MIDR_EL1
KVM: arm64: Allow userspace to change REVIDR_EL1
KVM: arm64: Allow userspace to change AIDR_EL1
KVM: selftests: arm64: Test writes to MIDR,REVIDR,AIDR

arch/arm64/include/asm/kvm_host.h | 9 ++
arch/arm64/kvm/hyp/include/hyp/sysreg-sr.h | 5 +-
arch/arm64/kvm/hyp/nvhe/sysreg-sr.c | 10 +-
arch/arm64/kvm/hyp/vhe/sysreg-sr.c | 28 ++--
arch/arm64/kvm/sys_regs.c | 137 +++++++-----------
.../testing/selftests/kvm/arm64/set_id_regs.c | 32 +++-
6 files changed, 108 insertions(+), 113 deletions(-)

--
2.42.0