Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] ppc64: Add definitions for new PTRACE calls

- Add PTRACE_GET_DEBUGREG/PTRACE_SET_DEBUGREG. The definition is
as follows:

/*
* Get or set a debug register. The first 16 are DABR registers and the
* second 16 are IABR registers.
*/
#define PTRACE_GET_DEBUGREG 25
#define PTRACE_SET_DEBUGREG 26

DABR == data breakpoint and IABR = instruction breakpoint in IBM
speak. We could split out the IABR into 2 more ptrace calls but I
figured there was no need and 16 DABR registers should be more
than enough (POWER4/POWER5 have one).

- Add 2 new SIGTRAP si_codes: TRAP_HWBKPT and TRAP_BRANCH. I couldnt
find any standards on either of these so I copied what ia64 is
doing. Again this might be better placed in
include/asm-generic/siginfo.h

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>

authored by

Anton Blanchard and committed by
Paul Mackerras
a94d3085 df09ce4a

+22
+8
include/asm-powerpc/siginfo.h
··· 15 15 16 16 #include <asm-generic/siginfo.h> 17 17 18 + /* 19 + * SIGTRAP si_codes 20 + */ 21 + #define TRAP_BRANCH (__SI_FAULT|3) /* process taken branch trap */ 22 + #define TRAP_HWBKPT (__SI_FAULT|4) /* hardware breakpoint or watchpoint */ 23 + #undef NSIGTRAP 24 + #define NSIGTRAP 4 25 + 18 26 #endif /* _ASM_POWERPC_SIGINFO_H */
+7
include/asm-ppc/ptrace.h
··· 142 142 #define PTRACE_GETEVRREGS 20 143 143 #define PTRACE_SETEVRREGS 21 144 144 145 + /* 146 + * Get or set a debug register. The first 16 are DABR registers and the 147 + * second 16 are IABR registers. 148 + */ 149 + #define PTRACE_GET_DEBUGREG 25 150 + #define PTRACE_SET_DEBUGREG 26 151 + 145 152 #endif
+7
include/asm-ppc64/ptrace.h
··· 189 189 #define PTRACE_SETEVRREGS 21 190 190 #endif 191 191 192 + /* 193 + * Get or set a debug register. The first 16 are DABR registers and the 194 + * second 16 are IABR registers. 195 + */ 196 + #define PTRACE_GET_DEBUGREG 25 197 + #define PTRACE_SET_DEBUGREG 26 198 + 192 199 /* Additional PTRACE requests implemented on PowerPC. */ 193 200 #define PPC_PTRACE_GETREGS 0x99 /* Get GPRs 0 - 31 */ 194 201 #define PPC_PTRACE_SETREGS 0x98 /* Set GPRs 0 - 31 */