[PATCH 1/3] ARM: debug: use kconfig choice for selecting DEBUG_LL UART
Russell King - ARM Linux
linux at arm.linux.org.uk
Sun Aug 21 17:29:21 EDT 2011
On Sun, Aug 21, 2011 at 05:00:46PM -0400, Nicolas Pitre wrote:
> On Sun, 21 Aug 2011, Russell King - ARM Linux wrote:
>
> > On Sun, Aug 21, 2011 at 04:07:37PM -0400, Nicolas Pitre wrote:
> > > On Sun, 21 Aug 2011, Russell King - ARM Linux wrote:
> > >
> > > > And further to this, I'll point out that the debugging functions are
> > > > *explicitly* designed to avoid corrupting any more than just r0-r3
> > > > and lr. That's not just the IO functions but also the hex and string
> > > > printing functions.
> > > >
> > > > And the head*.S code is explicitly written to expect r0-r3 to be
> > > > corrupted - which basically means that no long-term values are held in
> > > > those registers.
> > >
> > > Well, not exactly. I actually have a patch to that effect I made a
> > > while ago so all the early code could be unaffected by inserted function
> > > call, but held on to it because nothing yet justified its need. Here it
> > > is for reference:
> >
> > And so this buggers up the ability to insert calls to the debugging code
> > by placing values into r0-r3. So that patch will get a nak too.
>
> What? Please look again at the patch and tell me what is wrong with it.
> Because I can't make sense of your last sentence.
Have you not been reading what I've been saying.
Point 1: the code explicitly _avoids_ using r0-r3 except in small short
code sequences.
Point 2: the debugging macros explicitly use r0-r3 because they know that
these registers aren't going to be used in the assembly code except in
small short code sequences.
So, changing all the assembly to use r0-r3 is going to bugger up the
ability to use the debugging macros. Therefore this is a change with
a net reduction in facility. Therefore I don't want it.
More information about the linux-arm-kernel
mailing list