From: Jim <jrp@wvi.com>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: linuxppc-dev@lists.linuxppc.org, Dan Malek <dan@embeddededge.com>,
paulus@samba.org
Subject: Re: 7450 bugs & fixes
Date: Mon, 10 Dec 2001 14:54:44 -0800 [thread overview]
Message-ID: <3C153D33.353AC3C8@wvi.com> (raw)
In-Reply-To: 20011129150047.11980@mailhost.mipsys.com
I'm working on an embedded project that has two 7450's.
Is anyone else doing any 7450 SMP work (perhaps on the new dual 800
PowerMac's)?
Also, do any of our more experienced people have any tips or helpful
thoughts -- particularly the area of interrupts? Thanks a bunch.
> After reading the 7450 errata book, I'm now trying to figure out
> what need to be done for our kernel to work properly on these.
> I'd appreciate any input from other people here as some of the
> errata exact consequences aren't that clear to me.
>
> I've figured out so far that we need to handle 7450's as far as
> rev 2.0 included. Apple seem to be the company who used the earliest
> ones in released products and according to the infos I got from them,
> they used rev 2.0 on uniprocessor desktop machines only, and rev. 2.1
> on SMP machines & laptops. They also seem to have developed a HW
> workaround for errata #38 making safe the use of the HW hashtable
> loopkups on rev. 2.1 CPUs. (at least according to an Apple engineer
> I contacted on the Darwin mailing list).
>
> Here are the errata I think we are concerned about. I didn't list
> errata for things I beleive we don't use so far, like L3 flush assist,
> but those may have impacts I didn't foresee.
>
> - errata 15: mismatched lwarx/stwcx. pairs can cause loss of
> atomicity. That errata basically says we mustn't issue an
> stwcx. if we didn't have a previous lwarx. That mean our
> instance of stwcx. in the return from exception path should
> be added an lwarx. Any other candidate spotted ?
>
> - errata 18: seem to imply NAP/SLEEP can't be used for us on rev 2.0
> Well, that's weird as it seem that darwin has specific workarounds
> for another rev 2.0 errata related to NAP/SLEEP (L1 coherency lost),
> I'll ask my Apple contact about this one. I didn't find the exact
> errata for the L1 issue though....
>
> - errata 23: Not sure how that one can affect us. I don't think we do
> explicit cache flush on locations subject to snooping from external
> HW, at least not on UP (and rev 2.0 isn't used on SMP setups afaik)
>
> - errata 28: dcbst reserving L2 cache lines. That one is bad, as afaik,
> it could be used by userland code to kill the L2 cache. We should
> probably replace use of dcbst by dcbf in the kernel.
>
> - errata 29: do we ever switch MSR:IR off via an mtmsr ? If yes, we
> need to add a sync, but I don't think we do.
>
> - errata 31: BTIC corruption. This one affect only rev 2.0 which isn't
> used on SMP. So only the UP case matters. I'm not sure what a proper
> fix would be, maybe the isync recommended workaround. Paul ?
>
> - errata 38: Should be worked around in HW by Apple on SMP macs using
> 7450 2.1. Other machines may need to implement software tablewalk
> instead though (beware of other erratas related to using software
> tablewalk then ;)
>
> - errata 39: We must stop doing any DOZE/NAP in idle.c when we have an
> L3 cache.
>
> - errata 47: dcbz vs. snoop hang. I need some more input on this one
> we may have to disable store gathering when we have an L3 cache...
>
> That's all for now (pfffeww....), I'd recommend anybody who want some
> cold fever to read that errata document, available from moto web site.
>
> Ben.
>
--
Sincerely,
Jim Potter
45th Parallel Processing
(503) 769-9138
jrp@wvi.com
Those that would give up a necessary freedom for
temporary safety deserve neither freedom nor safety.
-- Ben Franklin
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
next prev parent reply other threads:[~2001-12-10 22:54 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-11-29 15:00 7450 bugs & fixes Benjamin Herrenschmidt
2001-11-29 18:20 ` Gabriel Paubert
2001-11-30 8:36 ` Giuliano Pochini
2001-11-30 10:46 ` Holger Bettag
2001-11-30 21:52 ` Timothy A. Seufert
2001-12-10 22:54 ` Jim [this message]
2001-12-14 5:17 ` Christopher Murtagh
2001-12-14 9:17 ` Benjamin Herrenschmidt
2001-12-14 16:50 ` Christopher Murtagh
2001-12-14 16:53 ` Benjamin Herrenschmidt
2001-12-14 17:57 ` Gabriel Paubert
2001-12-14 19:19 ` Benjamin Herrenschmidt
2001-12-14 20:02 ` Tom Rini
2001-12-14 20:41 ` Timothy A. Seufert
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=3C153D33.353AC3C8@wvi.com \
--to=jrp@wvi.com \
--cc=benh@kernel.crashing.org \
--cc=dan@embeddededge.com \
--cc=linuxppc-dev@lists.linuxppc.org \
--cc=paulus@samba.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).