powerpc: Hardware breakpoints rewrite to handle non DABR breakpoint registers
authorMichael Neuling <mikey@neuling.org>
Thu, 20 Dec 2012 14:06:44 +0000 (14:06 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 10 Jan 2013 06:01:44 +0000 (17:01 +1100)
commit9422de3e953d0e60eb95f5430a9dd803eec1c6d7
tree7255a4a2b873a0c3daf7b312a0845202edf6b2d5
parenta8190a59e7440a7e3f7c0889d72a13e157988b3c
powerpc: Hardware breakpoints rewrite to handle non DABR breakpoint registers

This is a rewrite so that we don't assume we are using the DABR throughout the
code.  We now use the arch_hw_breakpoint to store the breakpoint in a generic
manner in the thread_struct, rather than storing the raw DABR value.

The ptrace GET/SET_DEBUGREG interface currently passes the raw DABR in from
userspace.  We keep this functionality, so that future changes (like the POWER8
DAWR), will still fake the DABR to userspace.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
14 files changed:
arch/powerpc/include/asm/debug.h
arch/powerpc/include/asm/hw_breakpoint.h
arch/powerpc/include/asm/processor.h
arch/powerpc/include/asm/reg.h
arch/powerpc/kernel/exceptions-64s.S
arch/powerpc/kernel/hw_breakpoint.c
arch/powerpc/kernel/kgdb.c
arch/powerpc/kernel/process.c
arch/powerpc/kernel/ptrace.c
arch/powerpc/kernel/ptrace32.c
arch/powerpc/kernel/signal.c
arch/powerpc/kernel/traps.c
arch/powerpc/mm/fault.c
arch/powerpc/xmon/xmon.c