[U-Boot] [PATCH] mtest: Fix end address of increment/decrement test

Wolfgang Denk
2010-05-20T19:44:42Z

In message <1274382441.18152.37.camel@petert> you wrote:
>
> I can see your point but the current memtest code is not consistent with
> your description.
> - Every other test other than the increment/decrement tests the region <
> end address. Eg in the start:0x1000 end:0x2000 example, the *only* test
> that touches 0x2000-0x2003 region is the increment/decrement test.
> Either its broken, or the other memory test functions are.

I think this might indeed be the case. IIRC I originally wrote only
the simple increment/decrement test, and the other tests got added
later by others, probably with nobody noticing the differing
behaviour.

> - The output of 'mtest' is misleading:
> => mtest 0x1000 0x2000 1 1
> Testing 00001000 ... 00002000:
>
> That should be "00001000 ... 00002003" then, correct? (I know it should

No, it should not. The output shows the addresses where data is
written to. If you write a 32 bit word to address 00002000, this
writes to the byte addresses 00002000, 00002001, 00002002 and
00002003 (assuming a big endian system). So the output actually is
correct.

> be "00001000 ... 00001fff" to be consistent with this patch's
> implementation, so this argument is weak...)

No, because we do not actually write to this address (which would also
be misaligned for a word write).

> How would you like this cleaned up? Bring the address coverage of the
> other tests inline with the increment/decrement test? Improve the mtest
> output so its obvious what exactly is being tested?

Both, of course :-) Although I think the output is even correct, it
just leaves room for misinterpretation.

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
ADVISORY: There is an Extremely Small but Nonzero Chance That,
Through a Process Know as "Tunneling," This Product May Spontaneously
Disappear from Its Present Location and Reappear at Any Random Place
in the Universe, Including Your Neighbor's Domicile. The Manufacturer
Will Not Be Responsible for Any Damages or Inconvenience That May
Result.