[U-Boot] [PATCH 3/7] 83xx/85xx/86xx: Add ECC support

Peter Tyser ptyser at xes-inc.com
Tue Nov 10 04:07:25 CET 2009


Hi Ira,

On Mon, 2009-11-09 at 18:15 -0800, Ira W. Snyder wrote:
> On Mon, Nov 09, 2009 at 07:20:26PM -0600, Peter Tyser wrote:
> > On Tue, 2009-11-10 at 09:08 +0800, Liu Dave-R63238 wrote:
> > > > On Tue, 2009-11-10 at 08:42 +0800, Liu Dave-R63238 wrote:
> > > > > > IIRC, 85xx cache is enabled, so when we do the ecc error inject 
> > > > > > test, What will happen before disable ecc error inject?
> > > > > > I-fetch may get wrong instruction?
> > > > 
> > > > If you're injecting multibit errors, yes, things could break 
> > > > down, much like a real multibit error.
> > > 
> > > IIRC, 83xx ECC code will NOT break down when we inject multibit error.
> > > The code will go on, u-boot also go on...
> > 
> > What is the benefit of having such a high level of control over error
> > injection?  When do people use this feature?  How often do they use it?
> > 
> 
> I used the ECC error injection code when adding ECC support on our
> board, to verify that ECC was actually enabled and reporting errors. I
> found it extremely useful at the time, though I haven't used it since.

I had the same usage pattern as you.  I used the "ecc inject" command
for some testing, but I don't plan using it again unless I update the
ECC code again.  The injecting feature of this patch isn't great, but I
personally think its sufficient, at least on 85xx and 86xx.  I was
pretty easily able to simulate single and double bit errors on both
platforms.  I'll be curious to hear how it works on 83xx...

> > > > > and ....
> > > > > Because cache is enabled, data bus assume 64 bits (it is 
> > > > normal case).
> > > > > The DDR bus will have 4-beat burst. So the error 
> > > > information will be 
> > > > > the last beat triggered, or multi-bit error at first beat....., or..
> > > > > It is really complex.....
> > > > 
> > > > I believe all 4 beats would have the ecc error injected.
> > > > 
> > > > In my opinion, the error reporting functionality of the ECC 
> > > > code is much more important than error injection.  Other than 
> > > > testing code during development, when do you inject errors?  
> > > > ECC detection and reporting is useful day-to-day, in the 
> > > > field, during manufacturing tests, etc so that's where the 
> > > > emphasis of this patch is focussed.
> > > 
> > > 83xx ECC code also has good ECC error reporting functionality,
> > > IIRC, type ecc status...
> > 
> > I believe the ecc status command basically just did a register dump of
> > the ECC registers.  In my opinion, the output was overly verbose and not
> > that useful.  The patch I submitted attempts to *decode* the register
> > dump so Joe User can figure out what's really wrong with their board.
> > 
> 
> I haven't looked at your code. When I was running the old ecc command, I
> had the 83xx reference manual open to decode the command's output, IIRC.
> 
> PS - I'm happy to test stuff on 83xx, I'll try and find time to test
> this patch series tomorrow.

Thanks, its much appreciated.

Peter



More information about the U-Boot mailing list