Thread (31 messages) flat view 31 messages, 7 authors, 2013-06-26

RE: [RFC] [PATCH] powerpc: Add MSR_DE to MSR_KERNEL

From: Zang Roy-R61911 <hidden>
Date: 2012-07-20 08:28:00

-----Original Message-----
From: linuxppc-dev-bounces+tie-fei.zang=3Dfreescale.com@lists.ozlabs.org
[mailto:linuxppc-dev-bounces+tie-fei.zang=3Dfreescale.com@lists.ozlabs.or=
g]
On Behalf Of Joakim Tjernlund
Sent: Friday, June 01, 2012 6:36 AM
To: Wood Scott-B07421
Cc: linuxppc-dev@ozlabs.org; Dan Malek; Bob Cochran; Support
Subject: Re: [RFC] [PATCH] powerpc: Add MSR_DE to MSR_KERNEL
=20
Scott Wood [off-list ref] wrote on 2012/06/01 00:16:53:
quoted
On 05/31/2012 05:14 PM, Joakim Tjernlund wrote:
quoted
Scott Wood [off-list ref] wrote on 2012/05/31 23:43:34:
quoted
On 05/31/2012 04:38 PM, Joakim Tjernlund wrote:
quoted
Scott Wood [off-list ref] wrote on 2012/05/31 19:47:53:
quoted
On 05/31/2012 04:56 AM, Joakim Tjernlund wrote:
quoted
Abatron Support [off-list ref] wrote on 2012/05/31 11:30:57=
:
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
Abatron Support [off-list ref] wrote on 2012/05/30 14:08:=
26:
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
I have tested this briefly with BDI2000 on P2010(e500) and
it works for me. I don't know if there are any bad side
effects,
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
therfore
this RFC.
quoted
We used to have MSR_DE surrounded by CONFIG_something
to ensure it wasn't set under normal operation.  IIRC, if
MSR_DE
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
is set, you will have problems with software debuggers that
utilize the the debugging registers in the chip itself.  You
only want
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
to force this to be set when using the BDI, not at other time=
s.
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
This MSR_DE is also of interest and used for software debugger=
s
that
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
make use of the debug registers. Only if MSR_DE is set then
debug
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
interrupts are generated. If a debug event leads to a debug
interrupt
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
handled by a software debugger or if it leads to a debug halt
handled
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
by a JTAG tool is selected with DBCR0_EDM / DBCR0_IDM.

The "e500 Core Family Reference Manual" chapter "Chapter 8
Debug Support" explains in detail the effect of MSR_DE.
quoted
So what is the verdict on this? I don't buy into Dan argument
without some
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
hard data.
What I tried to mention is that handling the MSR_DE correct is n=
ot
only
quoted
quoted
quoted
quoted
quoted
quoted
quoted
an emulator (JTAG debugger) requirement. Also a software debugge=
r
may
quoted
quoted
quoted
quoted
quoted
quoted
quoted
depend on a correct handled MSR_DE bit.
Yes, that made sense to me too. How would SW debuggers work if th=
e
kernel keeps
quoted
quoted
quoted
quoted
quoted
quoted
turning off MSR_DE first chance it gets?
The kernel selectively enables MSR_DE when it wants to debug.  I'm
not
quoted
quoted
quoted
quoted
quoted
sure if anything will be bothered by leaving it on all the time.
This
quoted
quoted
quoted
quoted
quoted
is something we need for virtualization as well, so a hypervisor c=
an
quoted
quoted
quoted
quoted
quoted
debug the guest.
hmm, I read that as you as in favour of the patch?
I'd want some confirmation that it doesn't break anything, and that
there aren't any other places that need MSR_DE that this doesn't cov=
er,
quoted
quoted
quoted
but in general yes.
Then you need to test drive the patch :)
I was thinking more along the lines of someone who's more familiar with
the relevant parts of the code confirming that it's really OK, not just
testing that it doesn't blow up in my face.
=20
It just occurred to me that you guys have this already in your Linux SDK =
so
it can't be that bad.
No. MSR_DE is ONLY added when using CW debug in SDK.
Roy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help