[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