]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit
KVM: arm/arm64: Make vgic_v3_check_base more broadly usable
authorChristoffer Dall <cdall@linaro.org>
Mon, 8 May 2017 10:23:51 +0000 (12:23 +0200)
committerChristoffer Dall <cdall@linaro.org>
Tue, 9 May 2017 10:19:31 +0000 (12:19 +0200)
commit9a746d75c06e2a68f27886d041c6e46df0aa86d8
tree97b26c33ec844d4f68ace82e6338f85316e94fcc
parent7fadcd3a859b218fa27c399db0aa8d6d62ad84a9
KVM: arm/arm64: Make vgic_v3_check_base more broadly usable

As we are about to fiddle with the IO device registration mechanism,
let's be a little more careful when setting base addresses as early as
possible.  When setting a base address, we can check that there's
address space enough for its scope and when the last of the two
base addresses (dist and redist) get set, we can also check if the
regions overlap at that time.

This allows us to provide error messages to the user at time when trying
to set the base address, as opposed to later when trying to run the VM.

To do this,  we make vgic_v3_check_base available in the core vgic-v3
code as well as in the other parts of the GICv3 code, namely the MMIO
config code.

We also return true for undefined base addresses so that the function
can be used before all base addresses are set; all callers already check
for uninitialized addresses before calling this function.

Signed-off-by: Christoffer Dall <cdall@linaro.org>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
virt/kvm/arm/vgic/vgic-v3.c
virt/kvm/arm/vgic/vgic.h