From: Kevin Hilman <khilman@linaro.org>
To: Nicolas Pitre <nicolas.pitre@linaro.org>
Cc: Stephen Boyd <sboyd@codeaurora.org>,
Taras Kondratiuk <taras.kondratiuk@linaro.org>,
Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
Russell King <linux@arm.linux.org.uk>,
Jason Cooper <jason@lakedaemon.net>,
Victor Kamensky <victor.kamensky@linaro.org>,
LKML <linux-kernel@vger.kernel.org>,
Ben Dooks <ben.dooks@codethink.co.uk>,
Olof Johansson <olof@lixom.net>,
Linaro Networking <linaro-networking@linaro.org>,
linux-arm-kernel <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] ARM: zImage: ensure header in LE format for BE8 kernels
Date: Thu, 19 Jun 2014 11:27:02 -0700 [thread overview]
Message-ID: <7hk38cycuh.fsf@paris.lan> (raw)
In-Reply-To: <alpine.LFD.2.11.1406181720130.16842@knanqh.ubzr> (Nicolas Pitre's message of "Wed, 18 Jun 2014 17:35:08 -0400 (EDT)")
Nicolas Pitre <nicolas.pitre@linaro.org> writes:
> On Wed, 18 Jun 2014, Kevin Hilman wrote:
>
>> On Wed, Jun 18, 2014 at 11:22 AM, Stephen Boyd <sboyd@codeaurora.org> wrote:
>> > On 06/18/14 11:21, Kevin Hilman wrote:
>> >> On Wed, Jun 18, 2014 at 11:14 AM, Stephen Boyd <sboyd@codeaurora.org> wrote:
>> >>> On 06/18/14 10:55, Kevin Hilman wrote:
>> >>>> All of that to say, with this patch applied, I need a new (and
>> >>>> reliable) way to determine the endianness of a kernel just by looking
>> >>>> at the zImage. Recommendations welcome.
>> >>> Assuming that you have the .config configured to be built into the
>> >>> kernel you could use extract-ikconfig
>> >>>
>> >>> $ ./scripts/extract-ikconfig zImage | grep CONFIG_CPU_ENDIAN_BE8
>> >> Unfortunately, I can't rely on having that built in since I want the
>> >> boot tools to be as generic as possible.
>> >>
>> >>
>> >
>> > Yeah ok. Perhaps you can look for the 'setend be' instruction right
>> > after the magic values instead.
>>
>> Yeah, that works, as long as I can always assume that instruction will
>> be at the same offset (currently at 0x30).
>
> Well... then you also have to test for the Thumb2 variant.
Ah, right.
> And that forces this instruction to always be there.
>
> If we're to "officialize" this, I'd much prefer we add another magic
> value like this:
>
> diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
> index c95feab6ce..413fd94b53 100644
> --- a/arch/arm/boot/compressed/head.S
> +++ b/arch/arm/boot/compressed/head.S
> @@ -128,6 +128,7 @@ start:
> .word _magic_sig @ Magic numbers to help the loader
> .word _magic_start @ absolute load/run zImage address
> .word _magic_end @ zImage end address
> + .word 0x04030201 @ endianness flag
>
> THUMB( .thumb )
> 1:
I think this should probably be officialized since we've taken away the
ability for magic-number checking tools (like 'file') to distinguish
between big- and little-endian zImages.
For now, I've updated my tools to check for 'setend be' in ARM and
Thumb2 mode, but if this does get officialized, I'll gladly move over to
it.
Kevin
next prev parent reply other threads:[~2014-06-19 18:27 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-10 16:27 [PATCH] ARM: zImage: ensure header in LE format for BE8 kernels Taras Kondratiuk
2014-04-10 17:03 ` Nicolas Pitre
2014-06-17 14:29 ` Russell King - ARM Linux
2014-06-17 16:07 ` Nicolas Pitre
2014-06-18 17:55 ` Kevin Hilman
2014-06-18 18:14 ` Stephen Boyd
2014-06-18 18:21 ` Kevin Hilman
2014-06-18 18:22 ` Stephen Boyd
2014-06-18 19:01 ` Kevin Hilman
2014-06-18 21:35 ` Nicolas Pitre
2014-06-19 18:27 ` Kevin Hilman [this message]
2014-06-19 20:32 ` Nicolas Pitre
2014-06-19 20:57 ` Kevin Hilman
2014-06-19 21:49 ` Nicolas Pitre
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=7hk38cycuh.fsf@paris.lan \
--to=khilman@linaro.org \
--cc=ben.dooks@codethink.co.uk \
--cc=jason@lakedaemon.net \
--cc=linaro-networking@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=nicolas.pitre@linaro.org \
--cc=olof@lixom.net \
--cc=sboyd@codeaurora.org \
--cc=taras.kondratiuk@linaro.org \
--cc=thomas.petazzoni@free-electrons.com \
--cc=victor.kamensky@linaro.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