All of lore.kernel.org
 help / color / mirror / Atom feed
From: Scott Wood <oss@buserror.net>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/3][v3] Data types defined for 64 bit physical address
Date: Mon, 22 Feb 2016 19:38:13 -0600	[thread overview]
Message-ID: <1456191493.2463.129.camel@buserror.net> (raw)
In-Reply-To: <AM4PR0401MB1732D4A678C5607A79661EE79AD70@AM4PR0401MB1732.eurprd04.prod.outlook.com>

On Wed, 2016-02-10 at 05:20 +0000, york sun wrote:
> On 02/09/2016 09:10 PM, Scott Wood wrote:
> > On Wed, 2016-02-10 at 02:30 +0000, york sun wrote:
> 
> <snip>
> 
> > > 
> > > Aneesh and Scott,
> > > 
> > > I need to revisit this patch. Would it be better to change it as below?
> > > 
> > > +#if defined(CONFIG_PHYS_64BIT) && !defined(CONFIG_ARM64)
> > > +typedef unsigned long long dma_addr_t;
> > > +typedef unsigned long long phys_addr_t;
> > > +typedef unsigned long long phys_size_t;
> > > +#else
> > > +/* DMA addresses are 32-bits wide */
> > >  typedef u32 dma_addr_t;
> > > -
> > >  typedef unsigned long phys_addr_t;
> > >  typedef unsigned long phys_size_t;
> > > +#endif
> > > 
> > > I am debugging another patch and found changing phys_addr_t makes some
> > > trouble
> > > for ARM64, especially to mix with ulong.
> > 
> > What sort of trouble is it causing?  And why would you mix it with ulong?
> > 
> 
> I am debugging this patch http://patchwork.ozlabs.org/patch/514590/.
> ulong is used a lot for image related calls. I tried to change to
> phys_addr_t,
> but only buried myself even deeper. Basically I am battling on three sides
> 
> 1. All 32-bit SoCs should continue to work without using 64-bit variables
> for
> addresses.
> 2. 64-bit SoCs such as ARMv8 will support FIT with addresses beyond 32 bits.
> 3. Host tool such as mkimage should work on both 32- and 64-bit host OS.
> 
> Any suggestion is welcomed.

Is there any situation where we'd support loading images to addresses that
don't fit in ulong?  Why do you need to switch it to phys_addr_t?

mkimage is another matter -- since it could be generating images for any
target, it should be using a fixed 64-bit type for internally representing
target addresses.  Not ulong and not phys_addr_t (which shouldn't exist in
userspace).

In any case, the answer isn't to undo this patch or make an exception for
ARM64.

-Scott

  parent reply	other threads:[~2016-02-23  1:38 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-17 10:46 [U-Boot] [PATCH 1/3][v3] Pointers in ESBC header made 32 bit Aneesh Bansal
2015-09-17 10:46 ` [U-Boot] [PATCH 2/3][v3] Data types defined for 64 bit physical address Aneesh Bansal
2015-10-30 16:15   ` York Sun
2016-02-10  2:30   ` york sun
2016-02-10  5:10     ` Scott Wood
2016-02-10  5:20       ` york sun
2016-02-11  5:53         ` Aneesh Bansal
2016-02-23  1:38         ` Scott Wood [this message]
2016-02-23  2:05           ` york sun
2015-09-17 10:46 ` [U-Boot] [PATCH 3/3][v3] crypto/fsl: SEC driver cleanup for 64 bit and endianness Aneesh Bansal
2015-10-15 16:49   ` York Sun
2015-10-16  6:20     ` Bansal Aneesh
2015-10-30 16:14 ` [U-Boot] [PATCH 1/3][v3] Pointers in ESBC header made 32 bit York Sun

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=1456191493.2463.129.camel@buserror.net \
    --to=oss@buserror.net \
    --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.