All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] 64Bit device tree compilation
Date: Thu, 19 Mar 2015 19:04:50 +0100	[thread overview]
Message-ID: <20150319180447.GA11052@ulmo.nvidia.com> (raw)
In-Reply-To: <CAPnjgZ0cTZCf5yDzVXCt4pbtnyOT_WN2UE7X1AU__+7Gaeecqw@mail.gmail.com>

On Thu, Mar 19, 2015 at 07:43:35AM -0600, Simon Glass wrote:
> Hi Hanna,
> 
> On 18 March 2015 at 11:17, Hanna Hawa <hannah@marvell.com> wrote:
> > Hi Simon,
> >
> >
> >
> > My name is Hanna, I?m working in Software team in Marvell with Yehuda.
> >
> >
> >
> > I?m trying to run U-Boot with FDT in 64Bit.
> >
> > I?ve issue when I?m trying to load the image on my board, I got abort
> > (**Synchronous Abort**)
> >
> > Exactly when the U-boot run fdt_addr_to_cpu(*cell) under lib/fdtdec.c
> >
> >
> >
> > The issue is the format of the FDT is 32Bit, and Big Endian mode.
> >
> >
> >
> > After some debug, I changed the typedef of fdt_size, and fdt_addr to be u32.
> >
> > Also fdt_addr_to_cpu, and fdt_size_to_cpu  to use u32 swap, it works.
> >
> >
> >
> > My question is:
> >
> > Is that correct to change the typedef to use u32Bit?
> 
> What do you have CONFIG_PHYS_64BIT set to? That is supposed to
> indicate the machine word size. Do you have a 64-bit CPU?
> 
> I recall someone reporting that on 64-bit machines things like '*cell'
> can fail because the address is not always 64-bit aligned. But on
> 64-bit machines, fdt_addr_t should be 64-bit, so changing it to 32-bit
> seems wrong since you may not be able to address everything (e.g. the
> reg properties will be limited to the first 4GB).
> 
> I suspect it is wrong to use *cell. Instead we could use
> fdtdec_get_number(cell, <size>) or similar logic. Any existing use of
> fdt_addr_t/fdt_size_t to access a cell is wrong, i.e. in
> fdtdec_get_addr_size() and fdtdec_decode_region(). You could send a
> patch for that.

I have a couple of patches for this kind of issue that I encountered
during recent bring-up of 64-bit U-Boot on Tegra210. I'm on my way out
of the office right now, but I'll send out the patches tomorrow.

Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150319/e58e4483/attachment.sig>

  reply	other threads:[~2015-03-19 18:04 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-18 17:17 [U-Boot] 64Bit device tree compilation Hanna Hawa
2015-03-19 13:43 ` Simon Glass
2015-03-19 18:04   ` Thierry Reding [this message]
2015-03-24  2:12     ` Bin Meng
2015-03-24 10:31       ` Mark Rutland

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=20150319180447.GA11052@ulmo.nvidia.com \
    --to=thierry.reding@gmail.com \
    --cc=u-boot@lists.denx.de \
    /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.