Here's the alternative approach I had suggested in response to Kunkun's bug report, building the GICv3 ISPENDR accessor on top of the existing ISPENDR / ICPENDR accessors. With these changes userspace should consistently read / configure the hardware pending state for GICv4.1 vSGIs. Oliver Upton (3): KVM: arm64: vgic: Use common accessor for writes to ISPENDR KVM: arm64: vgic: Use common accessor for writes to ICPENDR KVM: arm64: vgic-v3: Reinterpret user ISPENDR writes as I{C,S}PENDR arch/arm64/kvm/vgic/vgic-mmio-v3.c | 29 ++------- arch/arm64/kvm/vgic/vgic-mmio.c | 101 ++++++++++++----------------- 2 files changed, 49 insertions(+), 81 deletions(-) base-commit: 2cc14f52aeb78ce3f29677c2de1f06c0e91471ab -- 2.43.0.472.g3155946c3a-goog