KVM: arm/arm64: vgic: Use a single IO device per redistributor
authorEric Auger <eric.auger@redhat.com>
Fri, 23 Aug 2019 17:33:30 +0000 (19:33 +0200)
committerMarc Zyngier <maz@kernel.org>
Sun, 25 Aug 2019 10:02:52 +0000 (11:02 +0100)
commit3109741a8d773b91eec4a1f7764c97a1176ec32d
treeeaf4b6f30e5d5d290bf2b4ad51d52263c549b3b2
parent926c61568d0b2e57254e92290369d4539568f8cc
KVM: arm/arm64: vgic: Use a single IO device per redistributor

At the moment we use 2 IO devices per GICv3 redistributor: one
one for the RD_base frame and one for the SGI_base frame.

Instead we can use a single IO device per redistributor (the 2
frames are contiguous). This saves slots on the KVM_MMIO_BUS
which is currently limited to NR_IOBUS_DEVS (1000).

This change allows to instantiate up to 512 redistributors and may
speed the guest boot with a large number of VCPUs.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
include/kvm/arm_vgic.h
virt/kvm/arm/vgic/vgic-init.c
virt/kvm/arm/vgic/vgic-mmio-v3.c