• Benjamin Herrenschmidt's avatar
    powerpc: Disable interrupts early in Program Check · 54321242
    Benjamin Herrenschmidt authored
    Program Check exceptions are the result of WARNs, BUGs, some
    type of breakpoints, kprobe, and other illegal instructions.
    
    We want interrupts (and thus preemption) to remain disabled
    while doing the initial stage of testing the reason and
    branching off to a debugger or kprobe, so we are still on
    the original CPU which makes debugging easier in various cases.
    
    This is how the code was intended, hence the local_irq_enable()
    right in the middle of program_check_exception().
    
    However, the assembly exception prologue for that exception was
    incorrectly marked as enabling interrupts, which defeats that
    (and records a redundant enable with lockdep).
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    54321242
exceptions-64s.S 30.6 KB