[patch 4/5] ppc64: Add definitions for new PTRACE calls
Anton Blanchard
anton at samba.org
Sat Sep 10 16:01:10 EST 2005
- Add PTRACE_BRANCHSTEP. Like PTRACE_SINGLESTEP but takes an
exception at every branch. This might be worth putting in
include/linux/ptrace.h if other architectures are interested.
- 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 at samba.org>
---
Index: build/include/asm-ppc/ptrace.h
===================================================================
--- build.orig/include/asm-ppc/ptrace.h 2005-09-10 14:26:25.000000000 +1000
+++ build/include/asm-ppc/ptrace.h 2005-09-10 14:27:49.000000000 +1000
@@ -142,4 +142,13 @@
#define PTRACE_GETEVRREGS 20
#define PTRACE_SETEVRREGS 21
+#define PTRACE_BRANCHSTEP 22
+
+/*
+ * 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
+
#endif
Index: build/include/asm-ppc64/ptrace.h
===================================================================
--- build.orig/include/asm-ppc64/ptrace.h 2005-09-10 14:28:44.000000000 +1000
+++ build/include/asm-ppc64/ptrace.h 2005-09-10 14:28:58.000000000 +1000
@@ -189,6 +189,15 @@
#define PTRACE_SETEVRREGS 21
#endif
+#define PTRACE_BRANCHSTEP 22
+
+/*
+ * 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
+
/* Additional PTRACE requests implemented on PowerPC. */
#define PPC_PTRACE_GETREGS 0x99 /* Get GPRs 0 - 31 */
#define PPC_PTRACE_SETREGS 0x98 /* Set GPRs 0 - 31 */
Index: build/include/asm-powerpc/siginfo.h
===================================================================
--- build.orig/include/asm-powerpc/siginfo.h 2005-09-10 13:29:48.000000000 +1000
+++ build/include/asm-powerpc/siginfo.h 2005-09-10 13:29:54.000000000 +1000
@@ -15,4 +15,12 @@
#include <asm-generic/siginfo.h>
+/*
+ * SIGTRAP si_codes
+ */
+#define TRAP_BRANCH (__SI_FAULT|3) /* process taken branch trap */
+#define TRAP_HWBKPT (__SI_FAULT|4) /* hardware breakpoint or watchpoint */
+#undef NSIGTRAP
+#define NSIGTRAP 4
+
#endif /* _ASM_POWERPC_SIGINFO_H */
--
More information about the Linuxppc64-dev
mailing list