• Gautham R. Shenoy's avatar
    KVM: PPC: Book3S HV: Exit on H_DOORBELL if HOST_IPI is set · 06554d9f
    Gautham R. Shenoy authored
    The code that handles the case when we receive a H_DOORBELL interrupt
    has a comment which says "Hypervisor doorbell - exit only if host IPI
    flag set".  However, the current code does not actually check if the
    host IPI flag is set.  This is due to a comparison instruction that
    got missed.
    
    As a result, the current code performs the exit to host only
    if some sibling thread or a sibling sub-core is exiting to the
    host.  This implies that, an IPI sent to a sibling core in
    (subcores-per-core != 1) mode will be missed by the host unless the
    sibling core is on the exit path to the host.
    
    This patch adds the missing comparison operation which will ensure
    that when HOST_IPI flag is set, we unconditionally exit to the host.
    
    Fixes: 66feed61
    Cc: stable@vger.kernel.org # v4.1+
    Signed-off-by: default avatarGautham R. Shenoy <ego@linux.vnet.ibm.com>
    Reviewed-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    06554d9f
book3s_hv_rmhandlers.S 63.1 KB