From: Alexandre Belloni <alexandre.belloni@free-electrons.com>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Dave Martin <Dave.Martin@arm.com>,
Doug Anderson <dianders@chromium.org>,
Heiko Stuebner <heiko@sntech.de>,
Nicolas Ferre <nicolas.ferre@atmel.com>,
Alexandre Belloni <alexandre.belloni@free-electrons.com>
Subject: [PATCH v4 0/2] ARM: Embedding Position Independent Executables
Date: Mon, 7 Nov 2016 23:24:56 +0100 [thread overview]
Message-ID: <20161107222458.15732-1-alexandre.belloni@free-electrons.com> (raw)
This series introduces Position Independent Executables (PIEs) for the
ARM architecture.
The main goal is to avoid having to write low level code in assembly as
this is currently the case for suspend/resume. Multiple platforms will
benefit from this infrastructure: at91, rockchip, am335x.
It would also be beneficial for the LPDDR support on at91 to avoid
having the handle the DDR controller from 4 different drivers.
Russell, do you see any remaining issues with the current approach?
Changes in v4:
- rebased on v4.9-rc1
- Fixed an issue with the alignment reported by Mylene
Changes in v3:
- rebased on v4.8-rc1
Changes in v2:
- handle big endian
- handle gcov and ftrace by disabling them before compilling the PIE
- Get the alignment from the original ELF to ensure the PIE is
properly aligned in SRAM.
- stop using fncpy
- rebased on v4.7-rc1
Alexandre Belloni (2):
ARM: PIE infrastructure
ARM: at91: pm: switch to the PIE infrastructure
arch/arm/Kconfig | 2 +
arch/arm/Makefile | 1 +
arch/arm/mach-at91/Kconfig | 1 +
arch/arm/mach-at91/Makefile | 2 +-
arch/arm/mach-at91/pm.c | 31 ++--
arch/arm/mach-at91/pm/.gitignore | 2 +
arch/arm/mach-at91/pm/Makefile | 3 +
arch/arm/mach-at91/pm/atmel_pm.c | 97 +++++++++++
arch/arm/mach-at91/pm_suspend.S | 338 ---------------------------------------
arch/arm/pie/Kconfig | 8 +
arch/arm/pie/Makefile | 1 +
arch/arm/pie/Makefile.pie | 86 ++++++++++
arch/arm/pie/lib/empty.c | 15 ++
arch/arm/pie/pie.c | 97 +++++++++++
arch/arm/pie/pie.lds.S | 40 +++++
include/linux/pie.h | 146 +++++++++++++++++
16 files changed, 510 insertions(+), 360 deletions(-)
create mode 100644 arch/arm/mach-at91/pm/.gitignore
create mode 100644 arch/arm/mach-at91/pm/Makefile
create mode 100644 arch/arm/mach-at91/pm/atmel_pm.c
delete mode 100644 arch/arm/mach-at91/pm_suspend.S
create mode 100644 arch/arm/pie/Kconfig
create mode 100644 arch/arm/pie/Makefile
create mode 100644 arch/arm/pie/Makefile.pie
create mode 100644 arch/arm/pie/lib/empty.c
create mode 100644 arch/arm/pie/pie.c
create mode 100644 arch/arm/pie/pie.lds.S
create mode 100644 include/linux/pie.h
--
2.10.2
next reply other threads:[~2016-11-07 22:25 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-07 22:24 Alexandre Belloni [this message]
2016-11-07 22:24 ` [PATCH v4 1/2] ARM: PIE infrastructure Alexandre Belloni
2016-11-07 22:24 ` [PATCH v4 2/2] ARM: at91: pm: switch to the " Alexandre Belloni
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=20161107222458.15732-1-alexandre.belloni@free-electrons.com \
--to=alexandre.belloni@free-electrons.com \
--cc=Dave.Martin@arm.com \
--cc=dianders@chromium.org \
--cc=heiko@sntech.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=nicolas.ferre@atmel.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).