OpenCloudOS-Kernel/arch/arm64/kvm/vgic
Marc Zyngier 1caa71a7a6 KVM: arm64: Restore GICv2-on-GICv3 functionality
When reworking the vgic locking, the vgic distributor registration
got simplified, which was a very good cleanup. But just a tad too
radical, as we now register the *native* vgic only, ignoring the
GICv2-on-GICv3 that allows pre-historic VMs (or so I thought)
to run.

As it turns out, QEMU still defaults to GICv2 in some cases, and
this breaks Nathan's setup!

Fix it by propagating the *requested* vgic type rather than the
host's version.

Fixes: 59112e9c39 ("KVM: arm64: vgic: Fix a circular locking issue")
Reported-by: Nathan Chancellor <nathan@kernel.org>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
link: https://lore.kernel.org/r/20230606221525.GA2269598@dev-arch.thelio-3990X
2023-06-07 16:38:25 +01:00
..
trace.h KVM: arm64: Move virt/kvm/arm to arch/arm64 2020-05-16 15:03:59 +01:00
vgic-debug.c KVM: arm64: Use config_lock to protect vgic state 2023-03-29 14:08:31 +01:00
vgic-init.c KVM: arm64: Restore GICv2-on-GICv3 functionality 2023-06-07 16:38:25 +01:00
vgic-irqfd.c KVM: arm64: vgic: Add memcg accounting to vgic allocations 2021-10-17 11:25:55 +01:00
vgic-its.c KVM: arm64: vgic: Wrap vgic_its_create() with config_lock 2023-05-19 10:20:00 +01:00
vgic-kvm-device.c KVM: arm64: vgic: Fix a circular locking issue 2023-05-19 10:20:00 +01:00
vgic-mmio-v2.c KVM: arm64: Don't read a HW interrupt pending state in user context 2022-06-07 16:28:19 +01:00
vgic-mmio-v3.c KVM: arm64: vgic: Fix a circular locking issue 2023-05-19 10:20:00 +01:00
vgic-mmio.c KVM: arm64: vgic: Fix a circular locking issue 2023-05-19 10:20:00 +01:00
vgic-mmio.h KVM: arm64: vgic-v3: Use u32 to manage the line level from userspace 2022-07-17 11:55:33 +01:00
vgic-v2.c KVM: arm64: vgic: Fix a circular locking issue 2023-05-19 10:20:00 +01:00
vgic-v3.c KVM: arm64: vgic: Fix a circular locking issue 2023-05-19 10:20:00 +01:00
vgic-v4.c KVM: arm64: vgic: Fix locking comment 2023-05-19 10:20:00 +01:00
vgic.c Merge branch kvm-arm64/timer-vm-offsets into kvmarm-master/next 2023-04-21 09:36:40 +01:00
vgic.h KVM: arm64: Expose {un,}lock_all_vcpus() to the rest of KVM 2023-03-30 19:01:09 +01:00