KVM: arm64: vgic-its: Treat the collection target address as a vcpu_id
authorMarc Zyngier <maz@kernel.org>
Wed, 27 Sep 2023 09:09:02 +0000 (10:09 +0100)
committerOliver Upton <oliver.upton@linux.dev>
Sat, 30 Sep 2023 18:15:43 +0000 (18:15 +0000)
commitd455d366c451e68781122c693e2e357c673ee807
treec820844fc06c5c8cfd455b191f4122c09c99c68e
parent9a0a75d3ccee20149587ab740a2dee31ba401ada
KVM: arm64: vgic-its: Treat the collection target address as a vcpu_id

Since our emulated ITS advertises GITS_TYPER.PTA=0, the target
address associated to a collection is a PE number and not
an address. So far, so good. However, the PE number is what userspace
has provided given us (aka the vcpu_id), and not the internal vcpu
index.

Make sure we consistently retrieve the vcpu by ID rather than
by index, adding a helper that deals with most of the cases.

We also get rid of the pointless (and bogus) comparisons to
online_vcpus, which don't really make sense.

Reviewed-by: Zenghui Yu <yuzenghui@huawei.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20230927090911.3355209-3-maz@kernel.org
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
arch/arm64/kvm/vgic/vgic-its.c