From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/4] arm64: export effective Image size to bootloaders
Date: Wed, 18 Jun 2014 17:49:27 +0100 [thread overview]
Message-ID: <20140618164927.GA9612@leverpostej> (raw)
In-Reply-To: <1402950432.3708.22.camel@smoke>
On Mon, Jun 16, 2014 at 09:27:12PM +0100, Geoff Levand wrote:
> Hi Mark,
Hi Geoff,
> Sorry for such a delay in my reply.
>
> On Fri, 2014-05-16 at 10:50 +0100, Mark Rutland wrote:
> > Both the image load offset and the effective image size are forced to be
> > little-endian regardless of the native endianness of the kernel to
> > enable bootloaders to load a kernel of arbitrary endianness. Bootloaders
> > which wish to make use of the load offset can inspect the effective
> > image size field for a non-zero value to determine if the offset is of a
> > known endianness.
>
> Doing this conversion in the linker script seems complicated. My
> thought was to just have an image header field that specifies the
> byte order, in the same way that the EI_DATA part of the ELF
> e_ident field does.
While the conversion in the linker script is a little ugly, it does
work, and that complexity is hidden behind the macro I added.
While I initially considered having a field to specify byte order, it's
incredibly likely that bootloaders will not use it. Maintaining a fixed
endianness everywhere makes it simpler for bootloaders to do the right
thing, and matches what existing bootloaders are already doing. That's
less pain for loaders and less pain for the kernel, as things are less
likely to go wrong.
To me it makes more sense to ensure these fields have a consistent
endianness, rather than adding more room for possible mistakes.
> Another advantage of having the byte order in the header is that
> tools other than a boot loader that need to know the byte order
> can get that info from the header, otherwise they would need to
> guess the order with some kind of inspection.
What kind of tools do you envision which would need to know the
endianness of the kernel but would be looking at the Image rather than
the vmlinux?
Mark.
next prev parent reply other threads:[~2014-06-18 16:49 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-16 9:50 [PATCH 0/4] arm64: simplify restrictions on bootloaders Mark Rutland
2014-05-16 9:50 ` [PATCH 1/4] arm64: head.S: remove unnecessary function alignment Mark Rutland
2014-05-16 13:04 ` Christopher Covington
2014-05-20 16:20 ` Laura Abbott
2014-05-16 9:50 ` [PATCH 2/4] arm64: place initial page tables above the kernel Mark Rutland
2014-05-20 16:21 ` Laura Abbott
2014-05-16 9:50 ` [PATCH 3/4] arm64: export effective Image size to bootloaders Mark Rutland
2014-05-20 14:12 ` Tom Rini
2014-05-20 16:22 ` Laura Abbott
2014-06-16 20:27 ` Geoff Levand
2014-06-18 16:49 ` Mark Rutland [this message]
2014-06-18 18:27 ` Rob Herring
2014-06-18 18:41 ` Geoff Levand
2014-06-19 10:25 ` Mark Rutland
2014-06-19 18:07 ` Geoff Levand
2014-06-20 10:17 ` Mark Rutland
2014-06-18 18:56 ` Kevin Hilman
2014-06-18 23:03 ` [PATCH] arm64: Add byte order to image header Geoff Levand
2014-06-18 23:07 ` [PATCH] arm64: Add new file asm/image.h Geoff Levand
2014-05-16 9:50 ` [PATCH 4/4] arm64: Enable TEXT_OFFSET fuzzing Mark Rutland
2014-05-16 14:06 ` Catalin Marinas
2014-05-16 16:55 ` Mark Rutland
2014-05-20 14:11 ` Tom Rini
2014-05-20 16:08 ` Mark Rutland
2014-05-21 10:18 ` Mark Rutland
2014-05-20 11:31 ` [PATCH 0/4] arm64: simplify restrictions on bootloaders Ian Campbell
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=20140618164927.GA9612@leverpostej \
--to=mark.rutland@arm.com \
--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).