From: heiko@sntech.de (Heiko Stuebner)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/2] Embedding Position Independent Executables
Date: Mon, 04 Apr 2016 17:11:47 +0200 [thread overview]
Message-ID: <16404629.c8PaLD68yt@phil> (raw)
In-Reply-To: <20160404095757.GR19428@n2100.arm.linux.org.uk>
Am Montag, 4. April 2016, 10:57:57 schrieb Russell King - ARM Linux:
> [Manually reformatted your email so I can reply to it sensibly - please
> don't make me have to do this again, next time I'll ignore your message
> as it's too much effort, thanks]
>
> On Sun, Apr 03, 2016 at 09:23:52AM +0200, Alexandre Belloni wrote:
> > Hi,
> >
> > This series tries to revive the many series trying to achieve the same
> > thing.
> >
> > I've tried numerous approaches and while using the kernel module loader
> > is actually quite convenient from a relocation point of view it is quite
> > overkill and also it is quite often too late as a lot of the arch
> > specific PM code assume that it is running at boot time, befor having
> > access to any filesystem.
> >
> > I've chosen to be less generic than what Russ did and only handle ARM.
> > I reused the API he defined but I actually went closer to his first
> > implementation by compiling and embedding a real PIE that doesn't
> > actually need relocations (gcc seems to be better at it thanks to ASLR).
> >
> > In this series, I'm also converting the AT91 suspend code to use that
> > infrastructure as it is quite simple but I also toyed with more complex
> > functions.
> >
> > The current limitation is that is doesn't actually tries to handle big
> > endian and I didn't test thumb (and this will probably require more work
> > to get that working reliably).
> >
> > Also, to be more useful prppoer handling of a stack has to be added
> > (this is not too difficult and is planned) and will be enough to get
> > rk3288 suspend/resume and DDR timing changes working.
>
> Provided there is no linking back to the kernel image (which is enforced
> by the --no-undefined flag), this at first glance looks okay, but what
> is the motivation behind this change? Just because there's "many series
> trying to do this" isn't really a justification or a reason why we should
> include this in the mainline kernel.
I'm not 100% sure if my try at an explanation will actually help things, but
I'll try to provide some thoughts.
The series is a continuation of Russ Dill's series from 2013 [0] and Doug's
try from 2014 [1].
The main issue being on Rockchip that right now on the rk3288 with a
reasonable amount of assembly we can achieve only a very light suspend mode
(saving a tiny amount of energy). To save more we need to reinit the ddr
controller as well as some regulators on resume with code that needs to run
in sram needing a quite bigger amount of code.
Earlier Rockchip SoCs don't even support that lighter suspend, so get none
currently at all, as they
Same reasoning for ddr frequency changes, as they also need a bigger amount
of code that will very much easier to handle when written in c than in
assembly.
So this solution is meant to provide the means to achieve all this.
[0] https://lwn.net/Articles/567051/
[1] https://lkml.org/lkml/2014/12/1/617
next prev parent reply other threads:[~2016-04-04 15:11 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-03 7:23 [PATCH 0/2] Embedding Position Independent Executables Alexandre Belloni
2016-04-03 7:23 ` [PATCH 1/2] ARM: PIE infrastructure Alexandre Belloni
2016-04-04 10:00 ` Russell King - ARM Linux
2016-04-22 23:15 ` Alexandre Belloni
2016-04-25 10:14 ` Dave P Martin
2016-04-27 19:39 ` Russell King - ARM Linux
2016-04-03 7:23 ` [PATCH 2/2] ARM: at91: pm: switch to the " Alexandre Belloni
2016-04-03 12:16 ` kbuild test robot
2016-04-04 10:02 ` Russell King - ARM Linux
2016-04-04 9:57 ` [PATCH 0/2] Embedding Position Independent Executables Russell King - ARM Linux
2016-04-04 15:11 ` Heiko Stuebner [this message]
2016-04-22 22:49 ` Alexandre Belloni
2016-04-23 9:50 ` Afzal Mohammed
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=16404629.c8PaLD68yt@phil \
--to=heiko@sntech.de \
--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).