Message ID | 20111208112330.GB24484@in.ibm.com (mailing list archive) |
---|---|
State | Rejected, archived |
Headers | show |
On Thu, Dec 08, 2011 at 04:53:30PM +0530, K.Prasad wrote: > While PPC_PTRACE_SETHWDEBUG ptrace flag in PowerPC accepts > PPC_BREAKPOINT_MODE_EXACT mode of breakpoint, the same is not intimated to the > user-space debuggers (like GDB) who may want to use it. Hence we introduce a > new PPC_DEBUG_FEATURE_DATA_BP_EXACT flag which will be populated on the > "features" member of "struct ppc_debug_info" to advertise support for the > same on Book3E PowerPC processors. Hrm. I had assumed the reason there wasn't a feature bit for EXACT originally was that EXACT breakpoints were *always* supposed to be supported by the new interface.
On Wed, Dec 21, 2011 at 11:55:02AM +1100, David Gibson wrote: > On Thu, Dec 08, 2011 at 04:53:30PM +0530, K.Prasad wrote: > > While PPC_PTRACE_SETHWDEBUG ptrace flag in PowerPC accepts > > PPC_BREAKPOINT_MODE_EXACT mode of breakpoint, the same is not intimated to the > > user-space debuggers (like GDB) who may want to use it. Hence we introduce a > > new PPC_DEBUG_FEATURE_DATA_BP_EXACT flag which will be populated on the > > "features" member of "struct ppc_debug_info" to advertise support for the > > same on Book3E PowerPC processors. > > Hrm. I had assumed the reason there wasn't a feature bit for EXACT > originally was that EXACT breakpoints were *always* supposed to be > supported by the new interface. > Okay. Although BookS doesn't support EXACT breakpoints, it is possible (after the introduction of new hw-breakpoint interfaces) to request for a breakpoint of length 1 Byte. The hw-breakpoint infrastructure would take care of filtering the extraneous interrupts arising out of accesses in the neighbourhood, in such a case. David, Can you Ack this patch too, if you find the changes acceptable? Thanks, K.Prasad
On Thu, Dec 22, 2011 at 03:04:47PM +0530, K.Prasad wrote: > On Wed, Dec 21, 2011 at 11:55:02AM +1100, David Gibson wrote: > > On Thu, Dec 08, 2011 at 04:53:30PM +0530, K.Prasad wrote: > > > While PPC_PTRACE_SETHWDEBUG ptrace flag in PowerPC accepts > > > PPC_BREAKPOINT_MODE_EXACT mode of breakpoint, the same is not intimated to the > > > user-space debuggers (like GDB) who may want to use it. Hence we introduce a > > > new PPC_DEBUG_FEATURE_DATA_BP_EXACT flag which will be populated on the > > > "features" member of "struct ppc_debug_info" to advertise support for the > > > same on Book3E PowerPC processors. > > > > Hrm. I had assumed the reason there wasn't a feature bit for EXACT > > originally was that EXACT breakpoints were *always* supposed to be > > supported by the new interface. > > > > Okay. Although BookS doesn't support EXACT breakpoints, it is possible > (after the introduction of new hw-breakpoint interfaces) to request for > a breakpoint of length 1 Byte. Hrm. An EXACT breakpoint is not exactly the same as a range breakpoint of length 1 (consider unaligned accesses). But despite that, it should be possible to implement exact breakpoints on Book3S server hardware with some software filtering. And since that leaves no hardware that *can't* implement exact breakpoints (directly or indirectly), I'm not yet convinced of the need for a flag bit.
On Mon, 2012-01-16 at 19:18 +1100, David Gibson wrote: > Hrm. An EXACT breakpoint is not exactly the same as a range > breakpoint of length 1 (consider unaligned accesses). But despite > that, it should be possible to implement exact breakpoints on Book3S > server hardware with some software filtering. > > And since that leaves no hardware that *can't* implement exact > breakpoints (directly or indirectly), I'm not yet convinced of the > need for a flag bit. I agree.
diff --git a/arch/powerpc/include/asm/ptrace.h b/arch/powerpc/include/asm/ptrace.h index 48223f9..cf014f9 100644 --- a/arch/powerpc/include/asm/ptrace.h +++ b/arch/powerpc/include/asm/ptrace.h @@ -380,6 +380,7 @@ struct ppc_debug_info { #define PPC_DEBUG_FEATURE_INSN_BP_MASK 0x0000000000000002 #define PPC_DEBUG_FEATURE_DATA_BP_RANGE 0x0000000000000004 #define PPC_DEBUG_FEATURE_DATA_BP_MASK 0x0000000000000008 +#define PPC_DEBUG_FEATURE_DATA_BP_EXACT 0x0000000000000010 #ifndef __ASSEMBLY__ diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c index 18d28b6..71db5a6 100644 --- a/arch/powerpc/kernel/ptrace.c +++ b/arch/powerpc/kernel/ptrace.c @@ -1636,6 +1636,7 @@ long arch_ptrace(struct task_struct *child, long request, #ifdef CONFIG_PPC_ADV_DEBUG_DAC_RANGE dbginfo.features |= PPC_DEBUG_FEATURE_DATA_BP_RANGE | + PPC_DEBUG_FEATURE_DATA_BP_EXACT | PPC_DEBUG_FEATURE_DATA_BP_MASK; #endif #else /* !CONFIG_PPC_ADV_DEBUG_REGS */
While PPC_PTRACE_SETHWDEBUG ptrace flag in PowerPC accepts PPC_BREAKPOINT_MODE_EXACT mode of breakpoint, the same is not intimated to the user-space debuggers (like GDB) who may want to use it. Hence we introduce a new PPC_DEBUG_FEATURE_DATA_BP_EXACT flag which will be populated on the "features" member of "struct ppc_debug_info" to advertise support for the same on Book3E PowerPC processors. Signed-off-by: K.Prasad <prasad@linux.vnet.ibm.com> --- arch/powerpc/include/asm/ptrace.h | 1 + arch/powerpc/kernel/ptrace.c | 1 + 2 files changed, 2 insertions(+), 0 deletions(-)