All of lore.kernel.org
 help / color / mirror / Atom feed
From: ben.dooks@codethink.co.uk (Ben Dooks)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 10/17] ARM: update atag-to-fdt code to be endian agnostic
Date: Wed, 13 Feb 2013 11:27:56 +0000	[thread overview]
Message-ID: <511B78BC.7000708@codethink.co.uk> (raw)
In-Reply-To: <alpine.LFD.2.03.1302121646380.1242@fluxnic.net>

On 12/02/13 21:53, Nicolas Pitre wrote:
> On Mon, 11 Feb 2013, Ben Dooks wrote:
>
>> On 09/02/13 12:05, Russell King - ARM Linux wrote:
>>> On Fri, Feb 08, 2013 at 11:17:40PM +0000, Ben Dooks wrote:
>>>> -	if (atag->hdr.tag != ATAG_CORE ||
>>>> -	    (atag->hdr.size != tag_size(tag_core)&&
>>>> -	     atag->hdr.size != 2))
>>>> +	if (atag->hdr.tag != atag32_to_cpu(ATAG_CORE) ||
>>>> +	    (atag->hdr.size != atag32_to_cpu(tag_size(tag_core))&&
>>>> +	     atag->hdr.size != atag32_to_cpu(2)))
>>>
>>> This is wrong.  You're saying that "ATAG_CORE" is in LE32 format.  It
>>> isn't.  It's in CPU endian format.  If you want to do this kind of thing,
>>> you also need to define cpu_to_atag32() macros as well, otherwise this
>>> will cause sparse warnings.
>>>
>>>> -			initrd_start = atag->u.initrd.start;
>>>> -			initrd_size = atag->u.initrd.size;
>>>> +			initrd_start = atag32_to_cpu(atag->u.initrd.start);
>>>> +			initrd_size = atag32_to_cpu(____atag->u.initrd.size);
>>>
>>> Where did those four underscores come from?  Has this been built?
>>
>> I probably missed building this one. I've been mostly testing with DT
>> based systems.
>
> Is this BE8 mode available on old systems?  Or, will those BE8
> capable old systems have BE userland compiled for them?

BE8 is for ARMv6 and ARMv7 form of big endian. ARMv5 is BE32.

> Where I want to get to is: do we need to support BE8 mode for ATAG based
> systems at all, given that most if not all the modern ones should be DT
> based now?  Making the ATAG code BE8 aware is looking to be quite
> invasive for potentially no users at all.

The change is only useful when using a BE8 compiled kernel with a
boot loader environment that is LE. Even if the ATAGs do not need
fixing up, then we have a issue with uboot checking the zImage magic.

I have pushed the ATAGs issues to a new series as it is not necessary
for the current work we are doing with highbank primarily.

-- 
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius

  reply	other threads:[~2013-02-13 11:27 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-08 23:17 ARM big-endian on current kernels for linux-3.8 Ben Dooks
2013-02-08 23:17 ` [PATCH 01/17] ARM: add CPU_BE8_BOOT_LE configuration Ben Dooks
2013-02-09  4:10   ` Nicolas Pitre
2013-02-09 16:46     ` Ben Dooks
2013-02-08 23:17 ` [PATCH 02/17] ARM: set BE8 if LE in head code Ben Dooks
2013-02-09  3:33   ` Nicolas Pitre
2013-02-09 16:47     ` Ben Dooks
2013-02-09 21:38   ` Rob Herring
2013-02-09 21:56     ` Ben Dooks
2013-02-11 19:35     ` Ben Dooks
2013-02-08 23:17 ` [PATCH 03/17] ARM: fix ARCH_IXP4xx usage of ARCH_SUPPORTS_BIG_ENDIAN Ben Dooks
2013-02-08 23:17 ` [PATCH 04/17] ARM: Add ARCH_SUPPORTS_BIG_ENDIAN Ben Dooks
2013-02-09 11:55   ` Russell King - ARM Linux
2013-02-09 16:55     ` Ben Dooks
2013-02-08 23:17 ` [PATCH 05/17] ARM: fixup_pv_table bug when CPU_ENDIAN_BE8 Ben Dooks
2013-02-09  3:40   ` Nicolas Pitre
2013-02-11 19:11     ` Ben Dooks
2013-02-12 21:45       ` Nicolas Pitre
2013-02-08 23:17 ` [PATCH 06/17] ARM: fixup head for atag verification Ben Dooks
2013-02-09  3:51   ` Nicolas Pitre
2013-02-09 17:09     ` Ben Dooks
2013-02-08 23:17 ` [PATCH 07/17] ARM: twd: data endian fix Ben Dooks
2013-02-08 23:17 ` [PATCH 08/17] ARM: smp_scu: data endian fixes Ben Dooks
2013-02-08 23:17 ` [PATCH 09/17] ARM: add atag32_to_cpu() function Ben Dooks
2013-02-09  3:57   ` Nicolas Pitre
2013-02-09 12:03   ` Russell King - ARM Linux
2013-02-11 19:15     ` Ben Dooks
2013-02-11 19:30       ` Russell King - ARM Linux
2013-02-12 18:46       ` Jean-Christophe PLAGNIOL-VILLARD
2013-02-12 20:34         ` Russell King - ARM Linux
2013-02-08 23:17 ` [PATCH 10/17] ARM: update atag-to-fdt code to be endian agnostic Ben Dooks
2013-02-09  3:57   ` Nicolas Pitre
2013-02-09 12:05   ` Russell King - ARM Linux
2013-02-11 19:16     ` Ben Dooks
2013-02-12 21:53       ` Nicolas Pitre
2013-02-13 11:27         ` Ben Dooks [this message]
2013-02-14  4:43           ` Nicolas Pitre
2013-02-15 11:28             ` Ben Dooks
2013-02-08 23:17 ` [PATCH 11/17] ARM: fixup atags " Ben Dooks
2013-02-09  4:03   ` Nicolas Pitre
2013-02-09 12:06   ` Russell King - ARM Linux
2013-02-08 23:17 ` [PATCH 12/17] ARM: fix magic for bootloader in BE8 Ben Dooks
2013-02-09  4:06   ` Nicolas Pitre
2013-02-09 12:08     ` Russell King - ARM Linux
2013-02-12 18:50       ` Jean-Christophe PLAGNIOL-VILLARD
2013-02-12 18:54         ` Ben Dooks
2013-02-12 19:52           ` Jean-Christophe PLAGNIOL-VILLARD
2013-02-11 19:17     ` Ben Dooks
2013-02-12 21:57       ` Nicolas Pitre
2013-02-08 23:17 ` [PATCH 13/17] ARM: pl01x debug code endian fix Ben Dooks
2013-02-09 12:09   ` Russell King - ARM Linux
2013-02-11 19:19     ` Ben Dooks
2013-02-08 23:17 ` [PATCH 14/17] highbank: enable big-endian Ben Dooks
2013-02-09 21:33   ` Rob Herring
2013-02-09 22:00     ` Ben Dooks
2013-02-08 23:17 ` [PATCH 15/17] xgmac: fix printing of hardware version Ben Dooks
2013-02-09 12:10   ` Russell King - ARM Linux
2013-02-09 17:20     ` Ben Dooks
2013-02-09 21:35   ` Rob Herring
2013-02-08 23:17 ` [PATCH 16/17] xgmac: replace __raw with relaxed IO Ben Dooks
2013-02-09 20:59   ` Rob Herring
2013-02-09 22:03     ` Ben Dooks
2013-02-08 23:17 ` [PATCH 17/17] mvebu: support running big-endian Ben Dooks
2013-02-12 17:08 ` ARM big-endian on current kernels for linux-3.8 Thomas Petazzoni
2013-02-12 17:25   ` Ben Dooks
2013-02-12 18:49     ` Thomas Petazzoni
2013-02-12 18:54       ` Ben Dooks
2013-02-13  9:48     ` Thomas Petazzoni
2013-02-12 17:13 ` Russell King - ARM Linux
2013-02-12 17:33   ` Ben Dooks
2013-02-12 22:13     ` Nicolas Pitre
2013-02-13 11:00       ` Ben Dooks
2013-02-13 10:24     ` Matthieu CASTET
2013-02-13 11:18       ` Ben Dooks
2013-02-13 15:52         ` Catalin Marinas
2013-02-13 16:02           ` Ben Dooks
2013-02-13 16:03           ` Arnd Bergmann

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=511B78BC.7000708@codethink.co.uk \
    --to=ben.dooks@codethink.co.uk \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.