• Nicholas Piggin's avatar
    powerpc/pseries/le: Work around a firmware quirk · bded0706
    Nicholas Piggin authored
    Some PowerVM firmware when delivering a system reset interrupt to a
    little endian OS will mess up SRR registers. They are byteswapped, and
    SRR1 is incorrect. An example from a crash:
    
      NIP: 14dd0900000000c0
      MSR: 1000000200000080
    
    It's possible to detect this pattern in SRR1 (that would never happen
    in normal operation), and at least fix the NIP. After this patch, the
    same interrupt reports NIP properly:
    
      NIP [c00000000009dd14] plpar_hcall_norets+0x1c/0x28
    Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    bded0706
ras.c 13.4 KB