From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Cc: Linux/PPC Development <linuxppc-dev@ozlabs.org>
Subject: Re: PS3 early lock-up
Date: Tue, 05 Aug 2008 20:28:37 +1000 [thread overview]
Message-ID: <1217932117.24157.185.camel@pasglop> (raw)
In-Reply-To: <Pine.LNX.4.64.0808051142160.18419@vixen.sonytel.be>
> arch/powerpc/platfroms/ps3/htab.c:ps3_hpte_updatepp() uses `htab[slot].v'.
Ah, I missed that one. Indeed it -is- used.
Ok, that leaves us with 2 options:
- Change ps3_hpte_updatepp() to not read from the hash table via that
mapping (ie, do you have an LV1 call to read an HPTE ? Do you measure
any significant performance loss using that instead ? updatepp shouldn't
be something called -that- often).
- Add a way to setup HPTEs using 3 PPP bits. I'm not going to implement
that for the main hash code just yet though (the assembly) but it might
be possible to implement it specifically for mappings bolted. That
means it would only work when the mapping is done early but on PS3, we
know that the hash table is always mapped early.
The later would be a matter of taking my htab_convert_pte_flags() function
and making it capable, when _PAGE_USER is _not_ set and _PAGE_RW is not
set neither, to set PPP to 110.
You could do that by adding:
if (!(pteflags & (_PAGE_USER | _PAGE_RW)))
rflags |= (1 << 1) | (1 << 63);
Dbl check that the resulting mapping isn't accessible to user space though.
Ben.
next prev parent reply other threads:[~2008-08-05 10:28 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-04 15:48 PS3 early lock-up Geert Uytterhoeven
2008-08-04 21:44 ` Benjamin Herrenschmidt
2008-08-04 21:52 ` Benjamin Herrenschmidt
2008-08-05 0:31 ` Geoff Levand
2008-08-05 1:40 ` Benjamin Herrenschmidt
2008-08-05 9:43 ` Geert Uytterhoeven
2008-08-05 10:28 ` Benjamin Herrenschmidt [this message]
2008-08-05 11:31 ` Benjamin Herrenschmidt
2008-08-05 23:24 ` Geoff Levand
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=1217932117.24157.185.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=Geert.Uytterhoeven@sonycom.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).