linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: Arnd Bergmann <arnd@arndb.de>
Cc: linux-arm-kernel@lists.infradead.org,
	Stephen Warren <swarren@nvidia.com>, Pavel Machek <pavel@denx.de>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	linux-kernel@vger.kernel.org, arm@kernel.org,
	Simon Horman <horms+renesas@verge.net.au>,
	Shawn Guo <shawn.guo@linaro.org>,
	Dinh Nguyen <dinguyen@altera.com>
Subject: Re: [PATCH 8/9] [HACK] ARM: imx: work around v7_cpu_resume link error
Date: Fri, 15 Feb 2013 11:07:20 +0000	[thread overview]
Message-ID: <20130215110720.GL17833@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <1360882071-4072668-9-git-send-email-arnd@arndb.de>

On Thu, Feb 14, 2013 at 11:47:50PM +0100, Arnd Bergmann wrote:
> Patch c08e20d24 "arm: Add v7_invalidate_l1 to cache-v7.S"
> moves the v7_invalidate_l1 symbol out of imx/headsmp.S,
> which seems to cause a link error because it is now
> too far away from v7_cpu_resume when building an
> allyesconfig kernel.
> 
> If we move the v7_cpu_resume function from the .data
> section to .text, that creates another link error
> for the reference to phys_l2x0_saved_regs, but we
> can move all of the above to .text.
> 
> I believe that this is not a correct bug fix but just
> a bad workaround, so I'm open to ideas from people
> who understand the bigger picture.

Unfortunately, this ends up with writable data in the .text section, which
is supposed to be read-only.  We should try to preserve that status, even
though we don't enforce it.

I guess the problem is that we end up with the .data segment soo far away
from the .text segment that these branches no longer work (and remember
that this code executes with the MMU off.)

The only solution I can think is that we need to do quite a bit of magic
here to jump to an absolute address, but taking account of the V:P offset.
That's not going to be particularly nice, and it's going to then also have
to jump back the other way - to the cpu_resume code which is also in the
.data section.

  parent reply	other threads:[~2013-02-15 11:12 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-14 22:47 [PATCH 0/9] arm-soc/for-next allyesconfig build regressions Arnd Bergmann
2013-02-14 22:47 ` [PATCH 1/9] ARM: arch_timer: include linux/errno.h Arnd Bergmann
2013-02-15 10:26   ` Mark Rutland
2013-02-15 18:33     ` Arnd Bergmann
2013-02-14 22:47 ` [PATCH 2/9] ARM: imx: MACH_MX31ADS_WM1133_EV1 needs REGULATOR_WM8350 Arnd Bergmann
2013-02-15 17:21   ` Sascha Hauer
2013-02-14 22:47 ` [PATCH 3/9] ARM: omap2: include linux/errno.h in hwmod_reset Arnd Bergmann
2013-02-14 22:51   ` Tony Lindgren
2013-02-15 12:38     ` Arnd Bergmann
2013-02-14 22:58   ` Paul Walmsley
2013-02-14 22:47 ` [PATCH 4/9] ARM: omap: add include guard for soc.h Arnd Bergmann
2013-02-14 22:55   ` Tony Lindgren
2013-02-14 23:11     ` Arnd Bergmann
2013-02-15 12:40     ` Arnd Bergmann
2013-02-14 22:47 ` [PATCH 5/9] drm: export drm_vm_open_locked Arnd Bergmann
2013-02-14 22:47 ` [PATCH 6/9] net: cwdavinci_cpdma: export symbols for cpsw Arnd Bergmann
2013-02-14 22:52   ` David Miller
2013-02-14 22:47 ` [PATCH 7/9] remoteproc: omap: depend on OMAP_MBOX_FWK Arnd Bergmann
2013-02-14 22:55   ` Tony Lindgren
2013-02-15  6:56     ` Ohad Ben-Cohen
2013-02-14 22:47 ` [PATCH 8/9] [HACK] ARM: imx: work around v7_cpu_resume link error Arnd Bergmann
2013-02-14 23:45   ` Stephen Warren
2013-02-15 11:05     ` Arnd Bergmann
2013-02-15 11:13       ` Russell King - ARM Linux
2013-02-15 15:49         ` Arnd Bergmann
2013-02-15 11:07   ` Russell King - ARM Linux [this message]
2013-02-16  5:14     ` Nicolas Pitre
2013-02-18  5:55       ` Shawn Guo
2013-02-18 17:06         ` Nicolas Pitre
2013-02-19  1:42           ` Shawn Guo
2013-02-19  4:11             ` Nicolas Pitre
2013-02-19  5:10               ` Shawn Guo
2013-02-14 22:47 ` [PATCH 9/9] [media] davinci: do not include mach/hardware.h Arnd Bergmann
2013-02-14 22:57   ` Tony Lindgren
2013-02-15  5:06   ` Prabhakar Lad

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=20130215110720.GL17833@n2100.arm.linux.org.uk \
    --to=linux@arm.linux.org.uk \
    --cc=arm@kernel.org \
    --cc=arnd@arndb.de \
    --cc=dinguyen@altera.com \
    --cc=horms+renesas@verge.net.au \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pavel@denx.de \
    --cc=s.hauer@pengutronix.de \
    --cc=shawn.guo@linaro.org \
    --cc=swarren@nvidia.com \
    /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).