• James Morse's avatar
    arm64: kernel: Survive corrected RAS errors notified by SError · 6bf0dcfd
    James Morse authored
    Prior to v8.2, SError is an uncontainable fatal exception. The v8.2 RAS
    extensions use SError to notify software about RAS errors, these can be
    contained by the Error Syncronization Barrier.
    
    An ACPI system with firmware-first may use SError as its 'SEI'
    notification. Future patches may add code to 'claim' this SError as a
    notification.
    
    Other systems can distinguish these RAS errors from the SError ESR and
    use the AET bits and additional data from RAS-Error registers to handle
    the error. Future patches may add this kernel-first handling.
    
    Without support for either of these we will panic(), even if we received
    a corrected error. Add code to decode the severity of RAS errors. We can
    safely ignore contained errors where the CPU can continue to make
    progress. For all other errors we continue to panic().
    Signed-off-by: default avatarJames Morse <james.morse@arm.com>
    Reviewed-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    6bf0dcfd
traps.h 3.33 KB