• Nicholas Piggin's avatar
    powerpc/64s: return more carefully from sreset NMI · 15b4dd79
    Nicholas Piggin authored
    System Reset, being an NMI, must return more carefully than other
    interrupts. It has traditionally returned via the nromal return
    from exception path, but that has a number of problems.
    
    - r13 does not get restored if returning to kernel. This is for
      interrupts which may cause a context switch, which sreset will
      never do. Interrupting OPAL (which uses a different r13) is one
      place where this causes breakage.
    
    - It may cause several other problems returning to kernel with
      preempt or TIF_EMULATE_STACK_STORE if it hits at the wrong time.
    
    It's safer just to have a simple restore and return, like machine
    check which is the other NMI.
    Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    15b4dd79
exceptions-64s.S 54.2 KB