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>
Showing
- arch/powerpc/include/asm/debug.h 9 additions, 6 deletionsarch/powerpc/include/asm/debug.h
- arch/powerpc/include/asm/hw_breakpoint.h 26 additions, 7 deletionsarch/powerpc/include/asm/hw_breakpoint.h
- arch/powerpc/include/asm/processor.h 2 additions, 2 deletionsarch/powerpc/include/asm/processor.h
- arch/powerpc/include/asm/reg.h 0 additions, 3 deletionsarch/powerpc/include/asm/reg.h
- arch/powerpc/kernel/exceptions-64s.S 1 addition, 1 deletionarch/powerpc/kernel/exceptions-64s.S
- arch/powerpc/kernel/hw_breakpoint.c 30 additions, 42 deletionsarch/powerpc/kernel/hw_breakpoint.c
- arch/powerpc/kernel/kgdb.c 5 additions, 5 deletionsarch/powerpc/kernel/kgdb.c
- arch/powerpc/kernel/process.c 54 additions, 21 deletionsarch/powerpc/kernel/process.c
- arch/powerpc/kernel/ptrace.c 32 additions, 28 deletionsarch/powerpc/kernel/ptrace.c
- arch/powerpc/kernel/ptrace32.c 7 additions, 1 deletionarch/powerpc/kernel/ptrace32.c
- arch/powerpc/kernel/signal.c 3 additions, 2 deletionsarch/powerpc/kernel/signal.c
- arch/powerpc/kernel/traps.c 2 additions, 2 deletionsarch/powerpc/kernel/traps.c
- arch/powerpc/mm/fault.c 2 additions, 2 deletionsarch/powerpc/mm/fault.c
- arch/powerpc/xmon/xmon.c 14 additions, 7 deletionsarch/powerpc/xmon/xmon.c
Loading
Please register or sign in to comment