BUG: branch trace support for 64-bit Book-E (was Re: questions around Book III-E and branch trace)

Chris Friesen chris.friesen at genband.com
Thu Apr 18 09:30:46 EST 2013


On 04/17/2013 12:44 PM, Chris Friesen wrote:
> 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.

While poking around looking for answers to my previous questions I seem 
to have stumbled over a bug in branch tracing for 64-bit Book-E.

Commit ec097c8 added support for branch tracing for 32-bit code, but 
didn't do the 64-bit path.  As it stands, debug_crit/debug_debug in 
exceptions-64e.S only check DBSR_IC, so branch tracing will not get 
fixed up and will die a horrible death (typically in a tbr exception 
handler).

I was banging my head trying to figure out why this wasn't working when 
I finally clued in to the fact that head_booke.h only applied to the 
32-bit implementation.  This might be something useful to put in a 
comment up at the top of the file.

Chris


More information about the Linuxppc-dev mailing list