[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6868995a-0b93-d93c-5151-486ed602ac81@linux.ibm.com>
Date: Thu, 17 Sep 2020 10:26:14 -0300
From: Rogerio Alves <rcardoso@...ux.ibm.com>
To: Ravi Bangoria <ravi.bangoria@...ux.ibm.com>, mpe@...erman.id.au,
christophe.leroy@....fr
Cc: mikey@...ling.org, jniethe5@...il.com, pedromfc@...ux.ibm.com,
linux-kernel@...r.kernel.org, paulus@...ba.org,
rogealve@...ux.ibm.com, naveen.n.rao@...ux.vnet.ibm.com,
linuxppc-dev@...ts.ozlabs.org
Subject: Re: [PATCH v6 7/8] powerpc/watchpoint/ptrace: Introduce
PPC_DEBUG_FEATURE_DATA_BP_ARCH_31
On 9/2/20 1:29 AM, Ravi Bangoria wrote:
> PPC_DEBUG_FEATURE_DATA_BP_ARCH_31 can be used to determine whether
> we are running on an ISA 3.1 compliant machine. Which is needed to
> determine DAR behaviour, 512 byte boundary limit etc. This was
> requested by Pedro Miraglia Franco de Carvalho for extending
> watchpoint features in gdb. Note that availability of 2nd DAWR is
> independent of this flag and should be checked using
> ppc_debug_info->num_data_bps.
>
> Signed-off-by: Ravi Bangoria <ravi.bangoria@...ux.ibm.com>
Tested-by: Rogerio Alves <rcardoso@...ux.ibm.com>
> ---
> Documentation/powerpc/ptrace.rst | 1 +
> arch/powerpc/include/uapi/asm/ptrace.h | 1 +
> arch/powerpc/kernel/ptrace/ptrace-noadv.c | 2 ++
> 3 files changed, 4 insertions(+)
>
> diff --git a/Documentation/powerpc/ptrace.rst b/Documentation/powerpc/ptrace.rst
> index 864d4b6dddd1..77725d69eb4a 100644
> --- a/Documentation/powerpc/ptrace.rst
> +++ b/Documentation/powerpc/ptrace.rst
> @@ -46,6 +46,7 @@ features will have bits indicating whether there is support for::
> #define PPC_DEBUG_FEATURE_DATA_BP_RANGE 0x4
> #define PPC_DEBUG_FEATURE_DATA_BP_MASK 0x8
> #define PPC_DEBUG_FEATURE_DATA_BP_DAWR 0x10
> + #define PPC_DEBUG_FEATURE_DATA_BP_ARCH_31 0x20
>
> 2. PTRACE_SETHWDEBUG
>
> diff --git a/arch/powerpc/include/uapi/asm/ptrace.h b/arch/powerpc/include/uapi/asm/ptrace.h
> index f5f1ccc740fc..7004cfea3f5f 100644
> --- a/arch/powerpc/include/uapi/asm/ptrace.h
> +++ b/arch/powerpc/include/uapi/asm/ptrace.h
> @@ -222,6 +222,7 @@ struct ppc_debug_info {
> #define PPC_DEBUG_FEATURE_DATA_BP_RANGE 0x0000000000000004
> #define PPC_DEBUG_FEATURE_DATA_BP_MASK 0x0000000000000008
> #define PPC_DEBUG_FEATURE_DATA_BP_DAWR 0x0000000000000010
> +#define PPC_DEBUG_FEATURE_DATA_BP_ARCH_31 0x0000000000000020
>
> #ifndef __ASSEMBLY__
>
> diff --git a/arch/powerpc/kernel/ptrace/ptrace-noadv.c b/arch/powerpc/kernel/ptrace/ptrace-noadv.c
> index 48c52426af80..aa36fcad36cd 100644
> --- a/arch/powerpc/kernel/ptrace/ptrace-noadv.c
> +++ b/arch/powerpc/kernel/ptrace/ptrace-noadv.c
> @@ -57,6 +57,8 @@ void ppc_gethwdinfo(struct ppc_debug_info *dbginfo)
> } else {
> dbginfo->features = 0;
> }
> + if (cpu_has_feature(CPU_FTR_ARCH_31))
> + dbginfo->features |= PPC_DEBUG_FEATURE_DATA_BP_ARCH_31;
> }
>
> int ptrace_get_debugreg(struct task_struct *child, unsigned long addr,
>
Powered by blists - more mailing lists