From: Scott Wood <scottwood@freescale.com>
To: Becky Bruce <becky.bruce@freescale.com>
Cc: linuxppc-dev@ozlabs.org
Subject: Re: [PATCH v2] POWERPC: Allow 32-bit pgtable code to support 36-bit physical
Date: Thu, 28 Aug 2008 11:07:14 -0500 [thread overview]
Message-ID: <48B6CD32.2040308@freescale.com> (raw)
In-Reply-To: <C16F93B0-766C-43E8-B4B5-40BC0FEE298F@freescale.com>
Becky Bruce wrote:
> I'm pretty sure I went through this in great detail at one point and
> concluded that I did in fact need the lwarx/stwcx. IIRC, it has to do
> with other non-set_pte_at writers not necessarily holding the page table
> lock. FYI, the existing 32-bit PTE code is doing atomic updates as well.
But will those updates happen if there isn't already a valid PTE?
> About PTE_ATOMIC_UPDATES, I didn't add that in because hashed page table
> implementations require atomic updates.
Right, I misread it and thought it was being used for non-hashed
implementations as well.
What happens if you enable 64-bit PTEs on a 603-ish CPU? The kconfig
seems to allow it.
> Adding it in would create
> another clause in that code, because I would still need to order the
> operations with a 64-bit PTE and I can't call pte_update as it only
> changes the low word of the pte. I wasn't feeling too keen on adding
> untested pagetable code into the kernel :)
Wimp. :-)
> I can add it if the peanut
> gallery wants it, but I'll be marking it with a big fat "BUYER BEWARE".
No, there's little point if nothing selects it (or is planned to in the
near future).
>>> diff --git a/arch/powerpc/platforms/Kconfig.cputype
>>> b/arch/powerpc/platforms/Kconfig.cputype
>>> index 7f65127..ca5b58b 100644
>>> --- a/arch/powerpc/platforms/Kconfig.cputype
>>> +++ b/arch/powerpc/platforms/Kconfig.cputype
>>> @@ -128,18 +128,22 @@ config FSL_EMB_PERFMON
>>> config PTE_64BIT
>>> bool
>>> - depends on 44x || E500
>>> + depends on 44x || E500 || 6xx
>>> default y if 44x
>>> - default y if E500 && PHYS_64BIT
>>> + default y if PHYS_64BIT
>>
>> How is this different from PHYS_64BIT?
>
> One is the width of the PTE and one is the width of a physical address.
> It's entirely plausible to have a 64-bit PTE because you have a bunch of
> status bits, and only have 32-bit physical addressing. That's why there
> are 2 options.
Right, I just didn't see anything that actually selects it independently
of PHYS_64BIT. Is this something that's expected to actually happen in
the future?
The "default y if 44x" line is redundant with the "default y if PHYS_64BIT".
>>> config PHYS_64BIT
>>> - bool 'Large physical address support' if E500
>>> - depends on 44x || E500
>>> + bool 'Large physical address support' if E500 || 6xx
>>
>> Maybe "if !44x", or have 44x "select" this, rather than listing all
>> arches where it's optional.
>
> Not sure exactly what you're suggesting here........
It just seems simpler to not conditionalize the bool, but instead have
CONFIG_44x do "select PHYS_64BIT". I'd rather avoid another list of
platforms accumulating in a kconfig dependency.
>>> + depends on 44x || E500 || 6xx
>>> select RESOURCES_64BIT
>>> default y if 44x
>>> ---help---
>>> This option enables kernel support for larger than 32-bit physical
>>> - addresses. This features is not be available on all e500 cores.
>>> + addresses. This features is not be available on all cores.
>>
>> "This features is not be"?
>
> Heh, I didn't type that :) But I can fix it.
You didn't type it, but you touched it. Tag, you're it. :-)
-Scott
next prev parent reply other threads:[~2008-08-28 16:08 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-27 22:38 [PATCH v2] POWERPC: Allow 32-bit pgtable code to support 36-bit physical Becky Bruce
2008-08-27 23:43 ` Scott Wood
2008-08-28 15:36 ` Becky Bruce
2008-08-28 16:07 ` Scott Wood [this message]
2008-08-28 19:37 ` Becky Bruce
2008-08-28 20:28 ` Scott Wood
2008-08-28 21:13 ` Becky Bruce
2008-08-28 22:42 ` Benjamin Herrenschmidt
2008-08-30 16:24 ` Scott Wood
2008-08-31 8:22 ` Benjamin Herrenschmidt
2008-09-01 5:28 ` Benjamin Herrenschmidt
2008-09-01 5:19 ` Benjamin Herrenschmidt
2008-09-02 16:19 ` Becky Bruce
2008-09-02 21:21 ` Benjamin Herrenschmidt
2008-09-03 15:10 ` Becky Bruce
2008-09-04 2:53 ` Benjamin Herrenschmidt
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=48B6CD32.2040308@freescale.com \
--to=scottwood@freescale.com \
--cc=becky.bruce@freescale.com \
--cc=linuxppc-dev@ozlabs.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).