diff options
author | Will Deacon <will.deacon@arm.com> | 2013-03-16 08:48:13 +0000 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2013-06-12 11:23:02 +0100 |
commit | 1442b6ed249d2b3d2cfcf45b65ac64393495c96c (patch) | |
tree | 440be3115d6d3ac4aa766c295d9b15c8160da38f /arch/arm64/include | |
parent | adace89562c7a9645b8dc84f6e1ac7ba8756094e (diff) | |
download | op-kernel-dev-1442b6ed249d2b3d2cfcf45b65ac64393495c96c.zip op-kernel-dev-1442b6ed249d2b3d2cfcf45b65ac64393495c96c.tar.gz |
arm64: debug: consolidate software breakpoint handlers
The software breakpoint handlers are hooked in directly from ptrace,
which makes it difficult to add additional handlers for things like
kprobes and kgdb.
This patch moves the handling code into debug-monitors.c, where we can
dispatch to different debug subsystems more easily.
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/include')
-rw-r--r-- | arch/arm64/include/asm/debug-monitors.h | 9 | ||||
-rw-r--r-- | arch/arm64/include/asm/ptrace.h | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/arch/arm64/include/asm/debug-monitors.h b/arch/arm64/include/asm/debug-monitors.h index 7eaa0b3..ef8235c 100644 --- a/arch/arm64/include/asm/debug-monitors.h +++ b/arch/arm64/include/asm/debug-monitors.h @@ -83,6 +83,15 @@ static inline int reinstall_suspended_bps(struct pt_regs *regs) } #endif +#ifdef CONFIG_COMPAT +int aarch32_break_handler(struct pt_regs *regs); +#else +static int aarch32_break_handler(struct pt_regs *regs) +{ + return -EFAULT; +} +#endif + #endif /* __ASSEMBLY */ #endif /* __KERNEL__ */ #endif /* __ASM_DEBUG_MONITORS_H */ diff --git a/arch/arm64/include/asm/ptrace.h b/arch/arm64/include/asm/ptrace.h index 41a71ee..0dacbbf 100644 --- a/arch/arm64/include/asm/ptrace.h +++ b/arch/arm64/include/asm/ptrace.h @@ -171,7 +171,5 @@ extern unsigned long profile_pc(struct pt_regs *regs); #define profile_pc(regs) instruction_pointer(regs) #endif -extern int aarch32_break_trap(struct pt_regs *regs); - #endif /* __ASSEMBLY__ */ #endif |