• Michael Ellerman's avatar
    powerpc/64s: Report SLB multi-hit rather than parity error · 54dbcfc2
    Michael Ellerman authored
    When we take an SLB multi-hit on bare metal, we see both the multi-hit
    and parity error bits set in DSISR. The user manuals indicates this is
    expected to always happen on Power8, whereas on Power9 it says a
    multi-hit will "usually" also cause a parity error.
    
    We decide what to do based on the various error tables in mce_power.c,
    and because we process them in order and only report the first, we
    currently always report a parity error but not the multi-hit, eg:
    
      Severe Machine check interrupt [Recovered]
        Initiator: CPU
        Error type: SLB [Parity]
          Effective address: c000000ffffd4300
    
    Although this is correct, it leaves the user wondering why they got a
    parity error. It would be clearer instead if we reported the
    multi-hit because that is more likely to be simply a software bug,
    whereas a true parity error is possibly an indication of a bad core.
    
    We can do that simply by reordering the error tables so that multi-hit
    appears before parity. That doesn't affect the error recovery at all,
    because we flush the SLB either way.
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Reviewed-by: default avatarNicholas Piggin <npiggin@gmail.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    54dbcfc2
mce_power.c 18.9 KB