• C
    KVM: arm-vgic: Add GICD_SPENDSGIR and GICD_CPENDSGIR handlers · 90a5355e
    Christoffer Dall 提交于
    Handle MMIO accesses to the two registers which should support both the
    case where the VMs want to read/write either of these registers and the
    case where user space reads/writes these registers to do save/restore of
    the VGIC state.
    
    Note that the added complexity compared to simple set/clear enable
    registers stems from the bookkeping of source cpu ids.  It may be
    possible to change the underlying data structure to simplify the
    complexity, but since this is not in the critical path at all, this will
    do.
    
    Also note that reading this register from a live guest will not be
    accurate compared to on hardware, because some state may be living on
    the CPU LRs and the only way to give a consistent read would be to force
    stop all the VCPUs and request them to unqueu the LR state onto the
    distributor.  Until we have an actual user of live reading this
    register, we can live with the difference.
    Acked-by: NMarc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: NChristoffer Dall <christoffer.dall@linaro.org>
    90a5355e
vgic.c 47.9 KB