diff options
author | Sandeepa Prabhu <sandeepa.prabhu@linaro.org> | 2013-12-04 09:50:20 +0400 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2013-12-19 21:43:11 +0400 |
commit | ee6214cec7818867f368c35843ea1f3dffcbb57c (patch) | |
tree | dc85030cc4fee90004063af8401489f5091af3a6 /arch/arm64/kernel/entry.S | |
parent | 26920dd2da79a3207803da9453c0e6c82ac968ca (diff) | |
download | linux-ee6214cec7818867f368c35843ea1f3dffcbb57c.tar.xz |
arm64: support single-step and breakpoint handler hooks
AArch64 Single Steping and Breakpoint debug exceptions will be
used by multiple debug framworks like kprobes & kgdb.
This patch implements the hooks for those frameworks to register
their own handlers for handling breakpoint and single step events.
Reworked the debug exception handler in entry.S: do_dbg to route
software breakpoint (BRK64) exception to do_debug_exception()
Signed-off-by: Sandeepa Prabhu <sandeepa.prabhu@linaro.org>
Signed-off-by: Deepak Saxena <dsaxena@linaro.org>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/kernel/entry.S')
-rw-r--r-- | arch/arm64/kernel/entry.S | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S index 4d2c6f3f0c41..32d7fe6c3d6a 100644 --- a/arch/arm64/kernel/entry.S +++ b/arch/arm64/kernel/entry.S @@ -288,6 +288,8 @@ el1_dbg: /* * Debug exception handling */ + cmp x24, #ESR_EL1_EC_BRK64 // if BRK64 + cinc x24, x24, eq // set bit '0' tbz x24, #0, el1_inv // EL1 only mrs x0, far_el1 mov x2, sp // struct pt_regs |