• Eric Farman's avatar
    KVM: s390: Clarify SIGP orders versus STOP/RESTART · 812de046
    Eric Farman authored
    
    
    With KVM_CAP_S390_USER_SIGP, there are only five Signal Processor
    orders (CONDITIONAL EMERGENCY SIGNAL, EMERGENCY SIGNAL, EXTERNAL CALL,
    SENSE, and SENSE RUNNING STATUS) which are intended for frequent use
    and thus are processed in-kernel. The remainder are sent to userspace
    with the KVM_CAP_S390_USER_SIGP capability. Of those, three orders
    (RESTART, STOP, and STOP AND STORE STATUS) have the potential to
    inject work back into the kernel, and thus are asynchronous.
    
    Let's look for those pending IRQs when processing one of the in-kernel
    SIGP orders, and return BUSY (CC2) if one is in process. This is in
    agreement with the Principles of Operation, which states that only one
    order can be "active" on a CPU at a time.
    
    Cc: stable@vger.kernel.org
    Suggested-by: default avatarDavid Hildenbrand <david@redhat.com>
    Signed-off-by: default avatarEric Farman <farman@linux.ibm.com>
    Reviewed-by: default avatarChristian Borntraeger <borntraeger@linux.ibm.com>
    Acked-by: default avatarDavid Hildenbrand <david@redhat.com>
    Link: ht...
    812de046
sigp.c 13 KB