linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Roland Dreier <roland@topspin.com>
To: Dave <dave.jiang@gmail.com>
Cc: linux-kernel@vger.kernel.org, torvalds@osdl.org,
	smaurer@teja.com, linux@arm.linux.org.uk, dsaxena@plexity.net,
	drew.moseley@intel.com
Subject: Re: clean way to support >32bit addr on 32bit CPU
Date: Mon, 10 Jan 2005 16:04:05 -0800	[thread overview]
Message-ID: <52u0poygp6.fsf@topspin.com> (raw)
In-Reply-To: <8746466a050110153479954fd2@mail.gmail.com> (Dave's message of "Mon, 10 Jan 2005 16:34:03 -0700")

    Dave> I have this ARM (XScale) based platform that supports 36bit
    Dave> physical addressing. Due to the way the ATU is designed, the
    Dave> outbound memory translation window is fixed outside the
    Dave> first 4GB of memory space, and thus the need to use 64bit
    Dave> addressing in order to access the PCI bus. After all said
    Dave> and done, the struct resource members start and end must
    Dave> support 64bit integer values in order to work. On a 64bit
    Dave> arch that would be fine since unsigned long is
    Dave> 64bit. However on a 32bit arch one must use unsigned long
    Dave> long to get 64bit. However, if we do that then it would make
    Dave> the 64bit archs to have 128bit start and end and probably
    Dave> wouldn't be something we'd want. What would be a nice clean
    Dave> way to support this that's acceptable to Linux? I guess this
    Dave> issue would be similar to x86-32 PAE would have?

Actually unsigned long long is still 64 bits even on 64-bit Linux
architectures.  However it might make more sense to use an explicit
size for the resource addresses, namely u64.

This XScale architecture seems similar to the PowerPC 440, which also
uses 36-bit addressing for various buses including PCI.  You might
want to take a look at arch/ppc for inspiration.

 - Roland

  parent reply	other threads:[~2005-01-11  0:58 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-10 23:34 clean way to support >32bit addr on 32bit CPU Dave
2005-01-11  0:01 ` Slade Maurer
2005-01-11  0:00   ` Deepak Saxena
2005-01-11  0:35     ` Slade Maurer
2005-01-11  0:04 ` Roland Dreier [this message]
2005-01-11  0:09 ` Linus Torvalds
2005-01-11  0:28   ` Randy.Dunlap
2005-01-11  1:30     ` Linus Torvalds
2005-01-11  2:05       ` William Lee Irwin III
2005-01-11  3:38         ` Randy.Dunlap
2005-01-11 17:39       ` Randy.Dunlap
2005-01-11 18:18         ` Linus Torvalds
2005-01-11 19:40   ` Dave

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=52u0poygp6.fsf@topspin.com \
    --to=roland@topspin.com \
    --cc=dave.jiang@gmail.com \
    --cc=drew.moseley@intel.com \
    --cc=dsaxena@plexity.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=smaurer@teja.com \
    --cc=torvalds@osdl.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).