From: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>,
Matthew Wilcox <matthew@wil.cx>,
tglx@linutronix.de, mingo@redhat.com,
linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org,
macro@linux-mips.org, kamezawa.hiroyu@jp.fujitsu.com,
eike-kernel@sf-tec.de
Subject: Re: [PATCH 1/2] x86: ioremap: fix wrong physical address handling
Date: Fri, 18 Jun 2010 09:32:37 +0900 [thread overview]
Message-ID: <4C1ABEA5.9090701@jp.fujitsu.com> (raw)
In-Reply-To: <4C1A2735.304@zytor.com>
(2010/06/17 22:46), H. Peter Anvin wrote:
> On 06/17/2010 02:35 AM, Jeremy Fitzhardinge wrote:
>>>>
>>>> By the way, is there linux kernel limit regarding above 44-bits physical
>>>> address in x86_32 PAE? For example, pfn above 32-bits is not supported?
>>
>> That's an awkward situation. I would tend to suggest that you not
>> support this type of machine with a 32-bit kernel. Is it a sparse
>> memory system, or is there a device mapped in that range?
>>
>> I guess it would be possible to special-case ioremap to allow the
>> creation of such mappings, but I don't know what kind of system-wide
>> fallout would happen as a result. The consequences of something trying
>> to extract a pfn from one of those ptes would be
>>
>>> There are probably places at which PFNs are held in 32-bit numbers,
>>> although it would be good to track them down if it isn't too expensive
>>> to fix them (i.e. doesn't affect generic code.)
>>>
>>
>> There are many places which hold pfns in 32 bit variables on 32 bit
>> systems; the standard type for pfns is "unsigned long", pretty much
>> everywhere in the kernel. It might be worth defining a pfn_t and
>> converting usage over to that, but it would be a pervasive change.
>>
>
> I think you're right, and just making 2^44 work correctly would be good
> enough. Doing special forwarding of all 52 bits of the real physical
> address in the paravirt case (where it is self-contained and doesn't
> spill into the rest of the kernel) would probably be a good thing, though.
>
> -hpa
>
I'll focus on making 2^44 work correctly. Then, I'll do the following
change in the next version of my patch.
- The v.2 patch uses resource_size_t for pfn. I'll keep using
resource_size_t for pfn also in v.3, because there is no reason to
leave it being "unsigned long".
- Use PHYSICAL_PAGE_MASK for masking physical address as v.1 patch
did. I think changing the definition of PAGE_MASK is a little risky.
Thanks,
Kenji Kaneshige
next prev parent reply other threads:[~2010-06-18 0:33 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-17 1:28 [BUG][PATCH 0/2 (v.2)] x86: ioremap() problem in X86_32 PAE Kenji Kaneshige
2010-06-17 1:30 ` [PATCH 1/2] x86: ioremap: fix wrong physical address handling Kenji Kaneshige
2010-06-17 2:50 ` Matthew Wilcox
2010-06-17 4:22 ` H. Peter Anvin
2010-06-17 4:55 ` Kenji Kaneshige
2010-06-17 6:03 ` H. Peter Anvin
2010-06-17 6:21 ` Kenji Kaneshige
2010-06-17 9:35 ` Jeremy Fitzhardinge
2010-06-17 9:38 ` Jeremy Fitzhardinge
2010-06-17 13:46 ` H. Peter Anvin
2010-06-18 0:32 ` Kenji Kaneshige [this message]
2010-06-18 0:22 ` Kenji Kaneshige
2010-07-09 4:24 ` Simon Horman
2010-07-09 5:33 ` Jeremy Fitzhardinge
2010-07-09 6:10 ` Simon Horman
2010-06-17 6:28 ` Kenji Kaneshige
2010-07-09 18:31 ` [tip:x86/mm] x86, pae: Fix handling of large physical addresses in ioremap tip-bot for Kenji Kaneshige
2010-07-09 18:43 ` H. Peter Anvin
2010-06-17 1:31 ` [PATCH 2/2] x86: ioremap: fix normal ram range check Kenji Kaneshige
2010-07-09 18:31 ` [tip:x86/mm] x86, ioremap: Fix " tip-bot for Kenji Kaneshige
-- strict thread matches above, loose matches on Subject: below --
2010-06-18 3:21 [BUG][PATCH 0/2 (v.3)] x86: ioremap() problem in X86_32 PAE Kenji Kaneshige
2010-06-18 3:22 ` [PATCH 1/2] x86: ioremap: fix wrong physical address handling Kenji Kaneshige
2010-06-18 11:07 ` Jeremy Fitzhardinge
2010-06-21 1:40 ` Kenji Kaneshige
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=4C1ABEA5.9090701@jp.fujitsu.com \
--to=kaneshige.kenji@jp.fujitsu.com \
--cc=eike-kernel@sf-tec.de \
--cc=hpa@zytor.com \
--cc=jeremy@goop.org \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=macro@linux-mips.org \
--cc=matthew@wil.cx \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.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.