• Alexander Gordeev's avatar
    s390/mcck: always enter C handler with DAT enabled · 7f6dc8d4
    Alexander Gordeev authored
    The machine check handler must be entered with DAT disabled
    in case control registers are corrupted or a storage error
    happened and we can not tell if such error corresponds to a
    page table.
    
    Both of described conditions end up in stopping all CPUs and
    entering the disabled wait in C half of the handler. However,
    the storage errors are still checked after the DAT is enabled
    and C code is entered. In case a page table is damaged such
    flow is not expected to work.
    
    This update paves the way for moving the storage error checks
    from C to assembler half. All fatal errors that can only be
    handled with DAT disabled are handled in assembler half also.
    As result, the C half is only entered if the DAT is secured.
    Signed-off-by: default avatarAlexander Gordeev <agordeev@linux.ibm.com>
    Reviewed-by: default avatarHeiko Carstens <hca@linux.ibm.com>
    Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
    Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
    7f6dc8d4
entry.S 19.2 KB