From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/5] omap: Add support for CONFIG_AUTO_ZRELADDR for DEBUG_LL
Date: Fri, 4 Feb 2011 17:15:26 +0000 [thread overview]
Message-ID: <20110204171526.GA8821@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <alpine.LFD.2.00.1102032205140.12104@xanadu.home>
On Thu, Feb 03, 2011 at 10:33:42PM -0500, Nicolas Pitre wrote:
> On Thu, 3 Feb 2011, Tony Lindgren wrote:
>
> > This way we can have the debug-macro.S be common for omap1 and omap2+
> > and get sensible error messages booting the wrong zImage with
> > CONFIG_AUTO_ZRELADDR selected. Note that this does not seem to work
> > with u-boot and uImage.
> >
> > Signed-off-by: Tony Lindgren <tony@atomide.com>
> > ---
> > arch/arm/mach-omap1/include/mach/debug-macro.S | 36 ++++++++++++++++++++----
> > arch/arm/mach-omap2/include/mach/debug-macro.S | 27 +++++++++++++++++-
> > 2 files changed, 56 insertions(+), 7 deletions(-)
> >
> > diff --git a/arch/arm/mach-omap1/include/mach/debug-macro.S b/arch/arm/mach-omap1/include/mach/debug-macro.S
> > index 80dcf18..bae924e 100644
> > --- a/arch/arm/mach-omap1/include/mach/debug-macro.S
> > +++ b/arch/arm/mach-omap1/include/mach/debug-macro.S
> > @@ -27,7 +27,15 @@
> > .macro inituart, id, a, v
> > mrc p15, 0, \a, c1, c0
> > tst \a, #1 @ MMU enabled?
> > +#ifdef CONFIG_AUTO_ZRELADDR
> > + ldreq \a, =omap_uart_phys
> > + biceq \a, \a, #0xf8000000 @ clear top bits of virt addr
> > + moveq \v, pc @ copy pc
> > + andeq \v, \v, #0xf8000000 @ clear lower bits
> > + orreq \a, \v @ combile to get phys addr
> > +#else
> > ldreq \a, =omap_uart_v2p(omap_uart_phys)
> > +#endif
> > ldrne \a, =omap_uart_phys
>
> Gaaaaah! This is horrible.
>
> OK, you do want to store data in memory, right? So the best way to
> always be position independent, even cross section, is to do the
> following (inspired by RMK's trick in the p2v series):
The other point to make is that for every machine in OMAP1, the
serial port is located at 0xffXXXXXX virtual, 0xfeXXXXXX physical.
For OMAP2, that's 0xfaXXXXXX virtual and 0x48XXXXXX physical.
So it's pointless storing both the virtual and physical addresses
as we can compute one from the other with a single instruction.
That gets rid of some of the complexity found in the debugging code.
next prev parent reply other threads:[~2011-02-04 17:15 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-04 1:26 [PATCH 0/5] Change omap DEBUG_LL code to use inituart for AUTO_ZRELADDR and ARM_PATCH_PHYS_VIRT Tony Lindgren
2011-02-04 1:27 ` [PATCH 1/5] omap: Remove code configuring the DEBUG_LL serial port using uncompress code Tony Lindgren
2011-02-04 1:27 ` [PATCH 2/5] omap: Use inituart to configure the debug serial port based on machine ID Tony Lindgren
2011-02-04 12:04 ` Grazvydas Ignotas
2011-02-04 16:49 ` Tony Lindgren
2011-02-04 1:27 ` [PATCH 3/5] omap: Add support for CONFIG_AUTO_ZRELADDR for DEBUG_LL Tony Lindgren
2011-02-04 3:33 ` Nicolas Pitre
2011-02-04 17:02 ` Tony Lindgren
2011-02-04 20:16 ` Nicolas Pitre
2011-02-04 20:24 ` Tony Lindgren
2011-02-04 20:33 ` Nicolas Pitre
2011-02-04 17:15 ` Russell King - ARM Linux [this message]
2011-02-04 18:36 ` Tony Lindgren
2011-02-04 1:27 ` [PATCH 4/5] omap: Combine debug-macro.S for omap1 and omap2+ Tony Lindgren
2011-02-04 1:27 ` [PATCH 5/5] omap: Add CONFIG_AUTO_ZRELADDR and CONFIG_ARM_PATCH_PHYS_VIRT to defconfigs Tony Lindgren
2011-02-09 6:08 ` [PATCH 0/5] Change omap DEBUG_LL code to use inituart for AUTO_ZRELADDR and ARM_PATCH_PHYS_VIRT Poddar, Sourav
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110204171526.GA8821@n2100.arm.linux.org.uk \
--to=linux@arm.linux.org.uk \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).