[RFC PATCH 0/4] ARM: add support for hw-breakpoints
Will Deacon
will.deacon at arm.com
Tue Feb 2 11:22:24 EST 2010
Modern ARM cores provide hardware resources for setting breakpoints
and watchpoints from software when in monitor debug mode. When these
are triggered, a debug exception is taken [in the form of a prefetch
or data abort] and a trap can be raised to notify the user that the
event has occurred.
This patch adds an ARM [v6+] backend to the recent HW-Breakpoint framework
in the Kernel. The ptrace interface is extended to support the new features
and has been tested successfully with GDB on 11MPCore and Cortex-A9 platforms.
All comments welcome, particularly those related to:
- The ptrace interface, where I tried to avoid defining a new struct
- The debug register accessors, which are rather ugly
- Discovering the faulting data address when a watchpoint fires
Patch taken against 2.6.33-rc6 with perf [ARM 5900/1] and atomic64 [ARM 5889/1]
support.
Will Deacon (4):
ARM: hw-breakpoint: add mechanism for hooking into prefetch aborts
ARM: hw-breakpoint: add ARM backend for the hw-breakpoint framework
ARM: hw-breakpoint: add new ptrace requests for hw-breakpoint
interaction
ARM: hw-breakpoint: add HAVE_HW_BREAKPOINT to Kconfig
arch/arm/Kconfig | 1 +
arch/arm/include/asm/hw_breakpoint.h | 113 ++++++
arch/arm/include/asm/processor.h | 4 +
arch/arm/include/asm/ptrace.h | 2 +
arch/arm/include/asm/system.h | 3 +
arch/arm/kernel/Makefile | 1 +
arch/arm/kernel/hw_breakpoint.c | 672 ++++++++++++++++++++++++++++++++++
arch/arm/kernel/ptrace.c | 158 ++++++++
arch/arm/mm/fault.c | 11 +
9 files changed, 965 insertions(+), 0 deletions(-)
create mode 100644 arch/arm/include/asm/hw_breakpoint.h
create mode 100644 arch/arm/kernel/hw_breakpoint.c
More information about the linux-arm-kernel
mailing list