linux/arch/arm64/kvm/vgic
Marc Zyngier fd2b165ce2 KVM: arm64: vgic-v3: Limit IPI-ing when accessing GICR_{C,S}ACTIVER0
When a vcpu is accessing *its own* redistributor's SGIs/PPIs, there
is no point in doing a stop-the-world operation. Instead, we can
just let the access occur as we do with GICv2.

This is a very minor optimisation for a non-nesting guest, but
a potentially major one for a nesting L1 hypervisor which is
likely to access the emulated registers pretty often (on each
vcpu switch, at the very least).

Reported-by: Ganapatrao Kulkarni <gankulkarni@os.amperecomputing.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20230112154840.1808595-1-maz@kernel.org
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
2023-01-12 21:18:08 +00:00
..
trace.h
vgic-debug.c KVM: arm64: vgic: Remove unnecessary type castings 2022-04-06 10:42:55 +01:00
vgic-init.c KVM/arm64 updates for 5.19 2022-05-25 05:09:23 -04: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: Enable ring-based dirty memory tracking 2022-11-10 13:11:58 +00:00
vgic-kvm-device.c KVM: arm64: vgic: Tidy-up calls to vgic_{get,set}_common_attr() 2022-07-17 11:55:33 +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-v3: Use u32 to manage the line level from userspace 2022-07-17 11:55:33 +01:00
vgic-mmio.c KVM: arm64: vgic-v3: Limit IPI-ing when accessing GICR_{C,S}ACTIVER0 2023-01-12 21:18:08 +00: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 Merge branch kvm-arm64/vgic-fixes-5.17 into kvmarm-master/next 2021-12-16 12:54:12 +00:00
vgic-v3.c KVM: arm64: vgic-v3: List M1 Pro/Max as requiring the SEIS workaround 2022-05-15 11:18:50 +01:00
vgic-v4.c KVM: Use 'unsigned long' as kvm_for_each_vcpu()'s index 2021-12-08 04:24:15 -05:00
vgic.c KVM: arm64: fix typos in comments 2022-03-18 14:04:15 +00:00
vgic.h KVM: arm64: vgic-v3: Use u32 to manage the line level from userspace 2022-07-17 11:55:33 +01:00