Guennadi Liakhovetski wrote:
> If the length of the memory address range passed to the "mtest" command is 
> not of the form 2^x - 1, not all address lines are tested. This bug is 
> inherited from the original software at 
> http://www.netrino.com/Embedded-Systems/How-To/Memory-Test-Suite-C. Fix 
> this.
> 
> Signed-off-by: Guennadi Liakhovetski <[EMAIL PROTECTED]>
> 
> ---
> 
> diff --git a/common/cmd_mem.c b/common/cmd_mem.c
> index a994211..2b55e7e 100644
> --- a/common/cmd_mem.c
> +++ b/common/cmd_mem.c
> @@ -661,7 +661,7 @@ int do_mem_mtest (cmd_tbl_t *cmdtp, int flag, int argc, 
> char *argv[])
>       ulong   readback;
>  
>  #if defined(CFG_ALT_MEMTEST)
> -     vu_long addr_mask;
> +     vu_long len;
>       vu_long offset;
>       vu_long test_offset;
>       vu_long pattern;
> @@ -800,24 +800,24 @@ int do_mem_mtest (cmd_tbl_t *cmdtp, int flag, int argc, 
> char *argv[])
>                * Returns:     0 if the test succeeds, 1 if the test fails.
>                *

The "## NOTE ##" doesn't really apply any more.  Besides that, generally 
"start" and "end" are constrained by the system (hardware and software 
configuration) so "picking" them is a nebulous concept.  I would simply 
delete the note.

>                * ## NOTE ##   Be sure to specify start and end
> -              *              addresses such that addr_mask has
> +              *              addresses such that len has
>                *              lots of bits set. For example an
>                *              address range of 01000000 02000000 is
>                *              bad while a range of 01000000
>                *              01ffffff is perfect.
>                */
> -             addr_mask = ((ulong)end - (ulong)start)/sizeof(vu_long);
> +             len = ((ulong)end - (ulong)start)/sizeof(vu_long);
>               pattern = (vu_long) 0xaaaaaaaa;
>               anti_pattern = (vu_long) 0x55555555;
>  
>               PRINTF("%s:%d: addr mask = 0x%.8lx\n",

s/addr mask/len/ in the printf() string

>                       __FUNCTION__, __LINE__,
> -                     addr_mask);
> +                     len);

Otherwise, good!

Thanks,
gvb

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
U-Boot-Users mailing list
U-Boot-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users

Reply via email to