Messages in this thread | | | Subject | Re: [PATCH v6 7/8] powerpc/watchpoint/ptrace: Introduce PPC_DEBUG_FEATURE_DATA_BP_ARCH_31 | From | Rogerio Alves <> | Date | Thu, 17 Sep 2020 10:26:14 -0300 |
| |
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@linux.ibm.com> Tested-by: Rogerio Alves <rcardoso@linux.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, >
| |