[patch 4/5] ppc64: Add definitions for new PTRACE calls
Kumar Gala
kumar.gala at freescale.com
Sun Sep 11 03:29:07 EST 2005
We really need further discussion on this. Book-E has a completely
different HW debug model which this patch only partially comprehend.
Is GDB being extended to support branch stepping?
- kumar
On Sep 10, 2005, at 1:01 AM, Anton Blanchard wrote:
> - 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 */
>
> --
>
> _______________________________________________
> Linuxppc64-dev mailing list
> Linuxppc64-dev at ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc64-dev
>
More information about the Linuxppc64-dev
mailing list