All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mitch Bradley <wmb-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
To: Jon Loeliger <jdl-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
Cc: devicetree-discuss-mnsaURCQ41sdnm+yROfE0A@public.gmane.org
Subject: Re: Of the device tree binary format endianness on little-endian platform
Date: Wed, 18 Feb 2009 09:01:30 -1000	[thread overview]
Message-ID: <499C5B0A.8050208@firmworks.com> (raw)
In-Reply-To: <499C5749.9000503-KZfg59tc24xl57MIdRCFDg@public.gmane.org>

> Mitch Bradley wrote:
>
>>
>> I can't speak for flattened device trees specifically, but IEEE1275 
>> (Open Firmware) specifies that integers are encoded in property 
>> values in big-endian byte order.  The model is 
>> serialization/deserialization, rather than overlaying a C struct on 
>> top of the data.
>
>
> The FDT adopted the same big-endian serialize/deserialize approach.
>
> To be honest, I don't know what motivated the big-endian choice
> (Network order, PPC, 1275, One True Format, etc.)  Doesn't matter.


When I first started working on Open Boot (the precursor to Open 
Firmware) at Sun circa 1987, Sun's main processors were 68k and SPARC, 
both big endian.  Sun had a 386 product too but it had no traction.  
Furthermore, the two highest profile external data representations at 
the time - the network byte order of TCP/IP and Sun's XDR underpinnings 
of RPC and NFS - were both big endian.  So big endian seemed like the 
choice least likely to result in opposition from the people I had to 
convince.

PPC didn't enter into the equation until several years later when the 
IEEE standardization effort started and Apple got interested.  There 
were a few portability problems that had crept into Open Boot that had 
to be fixed for Open Firmware, but the property mechanism and encoding 
went across essentially unchanged.  In any case, two of the main PPC OSs 
at the time were MacOS and AIX, both big endian, so if there had been 
pressure from the little endian direction, it probably would have been 
opposed by the MacOS and AIX camps.

Now You Know.

>
> jdl
>

  parent reply	other threads:[~2009-02-18 19:01 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-18 16:46 Of the device tree binary format endianness on little-endian platform Laurent Gregoire
     [not found] ` <1234975585.17001.131.camel-AlTa8cHOufjkPJRI6LV1/EZjUo8kaGiB@public.gmane.org>
2009-02-18 17:10   ` Mitch Bradley
     [not found]     ` <499C40F0.5020800-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2009-02-18 18:45       ` Jon Loeliger
     [not found]         ` <499C5749.9000503-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2009-02-18 19:01           ` Mitch Bradley [this message]
2009-02-18 19:28       ` Of the device tree binary format endianness on little-endianplatform Yoder Stuart-B08248
     [not found]         ` <9696D7A991D0824DBA8DFAC74A9C5FA304C9D5EA-ofAVchDyotYzzZk0BCvKg5jmvxFtTJ+o0e7PPNI6Mm0@public.gmane.org>
2009-02-19  8:54           ` Laurent Gregoire
2009-02-24 21:26   ` Of the device tree binary format endianness on little-endian platform Timur Tabi
     [not found]     ` <ed82fe3e0902241326g39a5c7fdj861aa37ebe821aee-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-02-25 16:16       ` Laurent Gregoire
     [not found]         ` <1235578609.17001.318.camel-AlTa8cHOufjkPJRI6LV1/EZjUo8kaGiB@public.gmane.org>
2009-02-26  0:52           ` David Gibson
  -- strict thread matches above, loose matches on Subject: below --
2009-02-27 10:06 Laurent Gregoire
     [not found] ` <1235729184.17001.369.camel-AlTa8cHOufjkPJRI6LV1/EZjUo8kaGiB@public.gmane.org>
2009-02-27 10:37   ` David Gibson

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=499C5B0A.8050208@firmworks.com \
    --to=wmb-d5eqfidgl7eakbo8gow8eq@public.gmane.org \
    --cc=devicetree-discuss-mnsaURCQ41sdnm+yROfE0A@public.gmane.org \
    --cc=jdl-KZfg59tc24xl57MIdRCFDg@public.gmane.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.