• Mark Rutland's avatar
    arm64: report CPU number in bad_mode · 8051f4d1
    Mark Rutland authored
    
    
    If we take an exception we don't expect (e.g. SError), we report this in
    the bad_mode handler with pr_crit. Depending on the configured log
    level, we may or may not log additional information in functions called
    subsequently. Notably, the messages in dump_stack (including the CPU
    number) are printed with KERN_DEFAULT and may not appear.
    
    Some exceptions have an IMPLEMENTATION DEFINED ESR_ELx.ISS encoding, and
    knowing the CPU number is crucial to correctly decode them. To ensure
    that this is always possible, we should log the CPU number along with
    the ESR_ELx value, so we are not reliant on subsequent logs or
    additional printk configuration options.
    
    This patch logs the CPU number in bad_mode such that it is possible for
    a developer to decode these exceptions, provided access to sufficient
    documentation.
    Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
    Reported-by: default avatarAl Grant <Al.Grant@arm.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Dave Martin <dave.martin@arm.com>
    Cc: Robin Murphy <robin.murphy@arm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    8051f4d1
traps.c 14.2 KB