• Will Deacon's avatar
    arm64: debug: clear mdscr_el1 instead of taking the OS lock · 9c413e25
    Will Deacon authored
    During boot, we take the debug OS lock before interrupts are enabled.
    This is required to prevent clearing of PSTATE.D on the interrupt entry
    path, which could result in spurious debug exceptions before we've got
    round to resetting things like the hardware breakpoints registers to a
    sane state.
    
    A problem with this approach is that taking the OS lock prevents an
    external JTAG debugger from debugging the system, which is especially
    irritating during boot, where JTAG debugging can be most useful.
    
    This patch clears mdscr_el1 rather than taking the lock, clearing the
    MDE and KDE bits and preventing self-hosted hardware debug exceptions
    from occurring.
    Tested-by: default avatarMark Rutland <mark.rutland@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    Cc: stable@vger.kernel.org
    9c413e25
debug-monitors.c 6.54 KB