public inbox for u-boot@lists.denx.de
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox