• Christoffer Dall's avatar
    KVM: arm/arm64: Make vgic_v3_check_base more broadly usable · 9a746d75
    Christoffer Dall authored
    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: default avatarChristoffer Dall <cdall@linaro.org>
    Reviewed-by: default avatarEric Auger <eric.auger@redhat.com>
    9a746d75
vgic-v3.c 13.1 KB