linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* questions around Book III-E and branch trace
@ 2013-04-17 18:44 Chris Friesen
  2013-04-17 23:30 ` BUG: branch trace support for 64-bit Book-E (was Re: questions around Book III-E and branch trace) Chris Friesen
  2013-04-18  6:28 ` questions around Book III-E and branch trace Benjamin Herrenschmidt
  0 siblings, 2 replies; 3+ messages in thread
From: Chris Friesen @ 2013-04-17 18:44 UTC (permalink / raw)
  To: Kumar Gala, linuxppc-dev, Benjamin Herrenschmidt, Paul Mackerras

Hi,

I'm trying to wrap my head around how linux handles branch tracing on 
Book III-E.  I think I understand how we set MSR[DE] and DBCR0[IDM|BT], 
and how we handle fixing things up if an instruction being traced causes 
an exception.

I have a few questions though:

1) Does user_enable_block_step() have a bug in it?  The current code has

task->thread.dbcr0 = DBCR0_IDM | DBCR0_BT;

Should that be as follows (to match the singel-step case)?

task->thread.dbcr0 |= DBCR0_IDM | DBCR0_BT;


2) Why doesn't DBCR0_ACTIVE_EVENTS include DBCR0_BT?


3) In sys_debug_setcontext() why does SIG_DBG_BRANCH_TRACING return 
-EINVAL if CONFIG_PPC_ADV_DEBUG_REGS is set?  Would it not be possible 
to use DBCR0_BT?

Thanks,
Chris


-- 

Chris Friesen
Software Designer

500 Palladium Drive, Suite 2100
Ottawa, Ontario K2N 1C2, Canada
www.genband.com
office:+1.343.883.2717
chris.friesen@genband.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-04-18  6:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-17 18:44 questions around Book III-E and branch trace Chris Friesen
2013-04-17 23:30 ` BUG: branch trace support for 64-bit Book-E (was Re: questions around Book III-E and branch trace) Chris Friesen
2013-04-18  6:28 ` questions around Book III-E and branch trace Benjamin Herrenschmidt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).