• Christoffer Dall's avatar
    KVM: arm/arm64: arch_timer: Preserve physical dist. active state on LR.active · 0e3dfda9
    Christoffer Dall authored
    We were incorrectly removing the active state from the physical
    distributor on the timer interrupt when the timer output level was
    deasserted.  We shouldn't be doing this without considering the virtual
    interrupt's active state, because the architecture requires that when an
    LR has the HW bit set and the pending or active bits set, then the
    physical interrupt must also have the corresponding bits set.
    
    This addresses an issue where we have been observing an inconsistency
    between the LR state and the physical distributor state where the LR
    state was active and the physical distributor was not active, which
    shouldn't happen.
    Reviewed-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    Signed-off-by: default avatarChristoffer Dall <christoffer.dall@linaro.org>
    0e3dfda9
arch_timer.c 12 KB