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 sideeffects,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, ifMSR_DEquoted
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. Youonly wantquoted
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
thatquoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
make use of the debug registers. Only if MSR_DE is set thendebugquoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
interrupts are generated. If a debug event leads to a debuginterruptquoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
handled by a software debugger or if it leads to a debug halthandledquoted
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 argumentwithout somequoted
quoted
quoted
quoted
quoted
quoted
quoted
quoted
hard data.What I tried to mention is that handling the MSR_DE correct is n=
ot
onlyquoted
quoted
quoted
quoted
quoted
quoted
quoted
an emulator (JTAG debugger) requirement. Also a software debugge=
r
mayquoted
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 keepsquoted
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'mnotquoted
quoted
quoted
quoted
quoted
sure if anything will be bothered by leaving it on all the time.Thisquoted
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