mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 14:41:31 +00:00
Reduce casting in mtest
Use a ulong for the command arguments, and only cast to an address when needed. This fixes warnings in sandbox where pointers are typically 64 bits long. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
c44d4386e6
commit
8c86bbe00f
1 changed files with 18 additions and 12 deletions
|
@ -626,8 +626,9 @@ int do_mem_loopw (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_LOOPW */
|
#endif /* CONFIG_LOOPW */
|
||||||
|
|
||||||
static ulong mem_test_alt(vu_long *start, vu_long *end)
|
static ulong mem_test_alt(ulong start_addr, ulong end_addr)
|
||||||
{
|
{
|
||||||
|
vu_long *start, *end;
|
||||||
vu_long *addr;
|
vu_long *addr;
|
||||||
ulong errs = 0;
|
ulong errs = 0;
|
||||||
ulong val, readback;
|
ulong val, readback;
|
||||||
|
@ -655,6 +656,9 @@ static ulong mem_test_alt(vu_long *start, vu_long *end)
|
||||||
0xaaaaaaaa, /* alternating 1/0 */
|
0xaaaaaaaa, /* alternating 1/0 */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
start = (vu_long *)start_addr;
|
||||||
|
end = (vu_long *)end_addr;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Data line test: write a pattern to the first
|
* Data line test: write a pattern to the first
|
||||||
* location, write the 1's complement to a 'parking'
|
* location, write the 1's complement to a 'parking'
|
||||||
|
@ -735,7 +739,7 @@ static ulong mem_test_alt(vu_long *start, vu_long *end)
|
||||||
*
|
*
|
||||||
* Returns: 0 if the test succeeds, 1 if the test fails.
|
* Returns: 0 if the test succeeds, 1 if the test fails.
|
||||||
*/
|
*/
|
||||||
len = ((ulong)end - (ulong)start)/sizeof(vu_long);
|
len = (end_addr - start_addr) / sizeof(vu_long);
|
||||||
pattern = (vu_long) 0xaaaaaaaa;
|
pattern = (vu_long) 0xaaaaaaaa;
|
||||||
anti_pattern = (vu_long) 0x55555555;
|
anti_pattern = (vu_long) 0x55555555;
|
||||||
|
|
||||||
|
@ -851,9 +855,10 @@ static ulong mem_test_alt(vu_long *start, vu_long *end)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static ulong mem_test_quick(vu_long *start, vu_long *end, vu_long pattern,
|
static ulong mem_test_quick(ulong start_addr, ulong end_addr, vu_long pattern,
|
||||||
int iteration)
|
int iteration)
|
||||||
{
|
{
|
||||||
|
vu_long *start, *end;
|
||||||
vu_long *addr;
|
vu_long *addr;
|
||||||
ulong errs = 0;
|
ulong errs = 0;
|
||||||
ulong incr;
|
ulong incr;
|
||||||
|
@ -874,6 +879,8 @@ static ulong mem_test_quick(vu_long *start, vu_long *end, vu_long pattern,
|
||||||
else
|
else
|
||||||
pattern = ~pattern;
|
pattern = ~pattern;
|
||||||
}
|
}
|
||||||
|
start = (vu_long *)start_addr;
|
||||||
|
end = (vu_long *)end_addr;
|
||||||
printf("\rPattern %08lX Writing..."
|
printf("\rPattern %08lX Writing..."
|
||||||
"%12s"
|
"%12s"
|
||||||
"\b\b\b\b\b\b\b\b\b\b",
|
"\b\b\b\b\b\b\b\b\b\b",
|
||||||
|
@ -912,7 +919,7 @@ static ulong mem_test_quick(vu_long *start, vu_long *end, vu_long pattern,
|
||||||
static int do_mem_mtest(cmd_tbl_t *cmdtp, int flag, int argc,
|
static int do_mem_mtest(cmd_tbl_t *cmdtp, int flag, int argc,
|
||||||
char * const argv[])
|
char * const argv[])
|
||||||
{
|
{
|
||||||
vu_long *start, *end;
|
ulong start, end;
|
||||||
int iteration_limit;
|
int iteration_limit;
|
||||||
int ret;
|
int ret;
|
||||||
ulong errs = 0; /* number of errors, or -1 if interrupted */
|
ulong errs = 0; /* number of errors, or -1 if interrupted */
|
||||||
|
@ -925,14 +932,14 @@ static int do_mem_mtest(cmd_tbl_t *cmdtp, int flag, int argc,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (argc > 1)
|
if (argc > 1)
|
||||||
start = (ulong *)simple_strtoul(argv[1], NULL, 16);
|
start = simple_strtoul(argv[1], NULL, 16);
|
||||||
else
|
else
|
||||||
start = (ulong *)CONFIG_SYS_MEMTEST_START;
|
start = CONFIG_SYS_MEMTEST_START;
|
||||||
|
|
||||||
if (argc > 2)
|
if (argc > 2)
|
||||||
end = (ulong *)simple_strtoul(argv[2], NULL, 16);
|
end = simple_strtoul(argv[2], NULL, 16);
|
||||||
else
|
else
|
||||||
end = (ulong *)(CONFIG_SYS_MEMTEST_END);
|
end = CONFIG_SYS_MEMTEST_END;
|
||||||
|
|
||||||
if (argc > 3)
|
if (argc > 3)
|
||||||
pattern = (ulong)simple_strtoul(argv[3], NULL, 16);
|
pattern = (ulong)simple_strtoul(argv[3], NULL, 16);
|
||||||
|
@ -944,10 +951,9 @@ static int do_mem_mtest(cmd_tbl_t *cmdtp, int flag, int argc,
|
||||||
else
|
else
|
||||||
iteration_limit = 0;
|
iteration_limit = 0;
|
||||||
|
|
||||||
printf("Testing %08x ... %08x:\n", (uint)(uintptr_t)start,
|
printf("Testing %08x ... %08x:\n", (uint)start, (uint)end);
|
||||||
(uint)(uintptr_t)end);
|
debug("%s:%d: start %#08lx end %#08lx\n", __func__, __LINE__,
|
||||||
debug("%s:%d: start 0x%p end 0x%p\n",
|
start, end);
|
||||||
__func__, __LINE__, start, end);
|
|
||||||
|
|
||||||
for (iteration = 0;
|
for (iteration = 0;
|
||||||
!iteration_limit || iteration < iteration_limit;
|
!iteration_limit || iteration < iteration_limit;
|
||||||
|
|
Loading…
Add table
Reference in a new issue