On Mon, Nov 11, 2013 at 10:58:12AM +0000, Will Deacon wrote:
Single-stepping on x86 is different to the step behaviour on arm64 afaik. On ARM, we have to manually remove the breakpoint, perform a single-step, then add the breakpoint again. If we re-enable debug exceptions in the kprobe handler, the step will complete early and we'll never step off the breakpoint.
This is about hardware breakpoints right? Which are per-cpu? Otherwise removing the breakpoint would open up a hole for another thread to slip through while you're single stepping.