linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* CPU15 errata workaround for 8xx by WD
@ 2005-01-02 14:12 Joakim Tjernlund
  2005-01-02 20:54 ` Wolfgang Denk
  2005-02-13 20:08 ` Wolfgang Denk
  0 siblings, 2 replies; 6+ messages in thread
From: Joakim Tjernlund @ 2005-01-02 14:12 UTC (permalink / raw)
  To: Wolfgang Denk, linuxppc-embedded

Hi Wolfgang

Had a look at your CPU15 errata workaround for 8xx and I have a comment
or two:

1) I think you should make the sysctl support a compile time option
   as the overhead for sysctl support in the TLB handler is 6 instr. when
   the fix itself is only 4 instr.

2) You placed the workaround in the middle of the CPU6 workaround which will
   disable the CPU6 workaround(I think). Move it before the #ifdef CONFIG_8xx_CPU6
   and you should be fine.

3) Your test program uses the dcbst and dcbi instr. and these are buggy as they do not
   update the DAR register in the TLB exceptions. I guess you made sure that such errors
   will not happen?

4) The CPU15 bug has been around for years I think, what made it show up now? New toolchains?
   

 Jocke
   

^ permalink raw reply	[flat|nested] 6+ messages in thread
* RE: CPU15 errata workaround for 8xx by WD
@ 2005-01-04 17:07 Wrobel Heinz-r39252
  2005-01-04 18:26 ` Joakim Tjernlund
  0 siblings, 1 reply; 6+ messages in thread
From: Wrobel Heinz-r39252 @ 2005-01-04 17:07 UTC (permalink / raw)
  To: 'Wolfgang Denk', Joakim.Tjernlund; +Cc: linuxppc-embedded

Wolfgang, Joakim,
 
> I have to admit that I didn't believe our customer when  he  
> reported that  he has problems that were caused by the CPU15 
> bug - I never saw this on any other 8xx processor before, and 
> as you say  it  has  been mentioned  in  all errata sheets I 
> can remember. As far as I can tell it is only the MPC870/885 
> duet family of processors where this  CPU15 bug actually 
> hits. I have no idea why.

CPU15 is highly timing dependent. Even a single clock difference in the bus interface can make it (dis)appear.
It can happen on Duet's as on any other 8xx ... or not.

The simple workaround of invalidating the prev/next page is exactly that. Simple. It works, but for code with page locality it can hurt performance because you would get excessive reloads. A smarter workaround affecting only pages that need the workaround is preferrable, if it fits into the MMU table framework.

Heinz

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-02-13 20:08 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-01-02 14:12 CPU15 errata workaround for 8xx by WD Joakim Tjernlund
2005-01-02 20:54 ` Wolfgang Denk
2005-01-02 21:58   ` Joakim Tjernlund
2005-02-13 20:08 ` Wolfgang Denk
  -- strict thread matches above, loose matches on Subject: below --
2005-01-04 17:07 Wrobel Heinz-r39252
2005-01-04 18:26 ` Joakim Tjernlund

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