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 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.