[PATCH v2 0/3] KVM: arm64: Fix handling of ID_PFR1_EL1.GIC
Marc Zyngier
maz at kernel.org
Thu Oct 30 05:27:04 PDT 2025
Peter reported[0] that restoring a GICv2 VM fails badly, and correctly
points out that ID_PFR1_EL1.GIC isn't writable, while its 64bit
equivalent is. I broke that in 6.12.
The other thing is that fixing the ID regs at runtime isn't great.
specially when we could adjust them at the point where the GIC gets
created.
This small series aims at fixing these issues. I've only tagged the
first one as a stable candidate. With these fixes, I can happily
save/restore a GICv2 VM (both 32 and 64bit) on my trusty Synquacer.
* From v1 [1]:
- Make all 32bit ID regs writable
- Use official accessors to manipulate ID regs
- Rebased on 6.18-rc3
[0] https://lore.kernel.org/r/CAFEAcA8TpQduexT=8rdRYC=yxm_073COjzgWJAvc26_T+-F5vA@mail.gmail.com
[3] https://lore.kernel.org/r/20251013083207.518998-1-maz@kernel.org
Marc Zyngier (3):
KVM: arm64: Make all 32bit ID registers fully writable
KVM: arm64: Set ID_{AA64PFR0,PFR1}_EL1.GIC when GICv3 is configured
KVM: arm64: Limit clearing of ID_{AA64PFR0,PFR1}_EL1.GIC to userspace
irqchip
arch/arm64/kvm/sys_regs.c | 71 ++++++++++++++++++---------------
arch/arm64/kvm/vgic/vgic-init.c | 14 ++++++-
2 files changed, 50 insertions(+), 35 deletions(-)
--
2.47.3
More information about the linux-arm-kernel
mailing list