[PATCH 00/11] ARM: hw_breakpoint: fixes and improvements (v3)

Will Deacon will.deacon at arm.com
Thu Dec 2 08:45:51 EST 2010


Hello again,

This is version 3 of the patchset originally posted here:

[v1]: http://lists.infradead.org/pipermail/linux-arm-kernel/2010-November/032717.html
[v2]: http://lists.infradead.org/pipermail/linux-arm-kernel/2010-November/032962.html

It's grown a bit since v2, but I think I've caught all of the corner cases now.
Thanks to the people who have highlighted any problems.

Changes since v2 include:

* Unified single-stepping mechanism for watchpoints and breakpoints

* Corrected misdiagnosis of the problem fixed in patch 6 (`do not allocate...')

* For cores where monitor mode cannot be enabled due to hardware restrictions,
  we no longer fail the initcall or WARN_ONCE.

* Per-cpu breakpoints are disallowed for the time being because they cannot
  be stepped reliably (since we may take an interrupt before the step has
  completed).

* Updated the comment describing why only a single watchpoint is available.


As per usual, all feedback is welcome.


Will Deacon (11):
  ARM: hw_breakpoint: ensure OS lock is clear before writing to debug
    registers
  ARM: hw_breakpoint: reset control registers in hotplug path
  ARM: hw_breakpoint: correct and simplify alignment fixup code
  ARM: hw_breakpoint: disable preemption during debug exception
    handling
  ARM: hw_breakpoint: don't advertise reserved breakpoints
  ARM: hw_breakpoint: do not allocate new breakpoints with preemption
    disabled
  ARM: hw_breakpoint: unify single-stepping code for watchpoints and
    breakpoints
  ARM: hw_breakpoint: disallow per-cpu breakpoints without overflow
    handler
  ARM: ptrace: fix style issue with hw_breakpoint interface
  ARM: hw_breakpoint: fix warnings generated by sparse
  ARM: hw_breakpoint: do not fail initcall if monitor mode is disabled

 arch/arm/include/asm/hw_breakpoint.h |    4 +-
 arch/arm/kernel/entry-armv.S         |    4 +
 arch/arm/kernel/entry-header.S       |   19 ++
 arch/arm/kernel/hw_breakpoint.c      |  545 ++++++++++++++++++++--------------
 arch/arm/kernel/ptrace.c             |    4 +-
 5 files changed, 349 insertions(+), 227 deletions(-)





More information about the linux-arm-kernel mailing list