• Martin Schwidefsky's avatar
    s390/kvm: integrate HANDLE_SIE_INTERCEPT into cleanup_critical · d0fc4107
    Martin Schwidefsky authored
    Currently there are two mechanisms to deal with cleanup work due to
    interrupts. The HANDLE_SIE_INTERCEPT macro is used to undo the changes
    required to enter SIE in sie64a. If the SIE instruction causes a program
    check, or an asynchronous interrupt is received the HANDLE_SIE_INTERCEPT
    code forwards the program execution to sie_exit.
    
    All the other critical sections in entry.S are handled by the code in
    cleanup_critical that is called by the SWITCH_ASYNC macro.
    
    Move the sie64a function to the beginning of the critical section and
    add the code from HANDLE_SIE_INTERCEPT to cleanup_critical. Add a special
    case for the sie64a cleanup to the program check handler.
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    d0fc4107
entry.S 36.6 KB