From e519f03a18464c1fe249bd7fcf7829fad31abc9a Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Mon, 4 May 2020 13:54:40 +0200 Subject: cmd: mem: Remove CONFIG_SYS_MEMTEST_SCRATCH mapping There is no real need to exactly define space for saving patterns for alternate memory test. It is much easier to allocate space on the stack and use it instead of trying to find out space where pattern should be saved. For example if you want to test the whole DDR memory you can't save patter to DDR and you need to find it out. On Xilinx devices DDR or OCM addresses were chosen but that means that OCM needs to be mapped and U-Boot has access permission there. It is easier to remove this limitation and simply save it on stack because it is very clear that memory test can't rewrite U-Boot and U-Boot has also full access to memory where runs from. Signed-off-by: Michal Simek Reviewed-by: Simon Glass Reviewed-by: Stefan Roese Reviewed-by: Heiko Schocher --- cmd/mem.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'cmd') diff --git a/cmd/mem.c b/cmd/mem.c index 009b7b58f32..18f0510098b 100644 --- a/cmd/mem.c +++ b/cmd/mem.c @@ -25,10 +25,6 @@ DECLARE_GLOBAL_DATA_PTR; -#ifndef CONFIG_SYS_MEMTEST_SCRATCH -#define CONFIG_SYS_MEMTEST_SCRATCH 0 -#endif - static int mod_mem(cmd_tbl_t *, int, int, int, char * const []); /* Display values from last command. @@ -922,7 +918,8 @@ static int do_mem_mtest(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { ulong start, end; - vu_long *buf, *dummy; + vu_long scratch_space; + vu_long *buf, *dummy = &scratch_space; ulong iteration_limit = 0; ulong count = 0; ulong errs = 0; /* number of errors, or -1 if interrupted */ @@ -958,7 +955,6 @@ static int do_mem_mtest(cmd_tbl_t *cmdtp, int flag, int argc, start, end); buf = map_sysmem(start, end - start); - dummy = map_sysmem(CONFIG_SYS_MEMTEST_SCRATCH, sizeof(vu_long)); for (iteration = 0; !iteration_limit || iteration < iteration_limit; iteration++) { @@ -988,7 +984,6 @@ static int do_mem_mtest(cmd_tbl_t *cmdtp, int flag, int argc, } unmap_sysmem((void *)buf); - unmap_sysmem((void *)dummy); if (errs == -1UL) { /* Memory test was aborted - write a newline to finish off */ -- cgit v1.2.3 From 702de89cc6a34c1c23dd3d987b0472b2cecdb63c Mon Sep 17 00:00:00 2001 From: Ashok Reddy Soma Date: Mon, 4 May 2020 15:26:21 +0200 Subject: treewide: mem: Move mtest related defines to Kconfig Move below defines which are used by mtest utility to Kconfig. CONFIG_SYS_MEMTEST_START CONFIG_SYS_MEMTEST_END Signed-off-by: Ashok Reddy Soma Signed-off-by: Michal Simek [trini: Fix kmcoge5ne board, re-run migration as well] Signed-off-by: Tom Rini --- cmd/Kconfig | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'cmd') diff --git a/cmd/Kconfig b/cmd/Kconfig index 157a33081ff..f9be1988f65 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -750,6 +750,22 @@ config SYS_ALT_MEMTEST help Use a more complete alternative memory test. +config SYS_MEMTEST_START + hex "default start address for mtest" + default 0 + help + This is the default start address for mtest for simple read/write + test. If no arguments are given to mtest, default address is used + as start address. + +config SYS_MEMTEST_END + hex "default end address for mtest" + default 0x1000 + help + This is the default end address for mtest for simple read/write + test. If no arguments are given to mtest, default address is used + as end address. + endif config CMD_SHA1SUM -- cgit v1.2.3