From e519f03a18464c1fe249bd7fcf7829fad31abc9a Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Mon, 4 May 2020 13:54:40 +0200 Subject: [PATCH] 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 --- README | 4 ---- cmd/mem.c | 9 ++------- include/configs/MigoR.h | 1 - include/configs/advantech_dms-ba16.h | 1 - include/configs/apalis_imx6.h | 1 - include/configs/aristainetos2.h | 1 - include/configs/armadillo-800eva.h | 1 - include/configs/blanche.h | 1 - include/configs/cgtqmx6eval.h | 1 - include/configs/colibri_imx6.h | 1 - include/configs/dh_imx6.h | 1 - include/configs/el6x_common.h | 1 - include/configs/embestmx6boards.h | 1 - include/configs/ge_bx50v3.h | 1 - include/configs/gw_ventana.h | 1 - include/configs/imx6_logic.h | 1 - include/configs/kzm9g.h | 1 - include/configs/mx6sabre_common.h | 1 - include/configs/nitrogen6x.h | 1 - include/configs/presidio_asic.h | 1 - include/configs/sh7752evb.h | 1 - include/configs/sh7753evb.h | 1 - include/configs/sh7757lcr.h | 1 - include/configs/stm32mp1.h | 1 - include/configs/tao3530.h | 1 - include/configs/tricorder.h | 1 - include/configs/xilinx_versal.h | 1 - include/configs/xilinx_versal_mini.h | 1 - include/configs/xilinx_zynqmp.h | 4 ---- include/configs/xilinx_zynqmp_mini.h | 1 - include/configs/xilinx_zynqmp_r5.h | 1 - scripts/config_whitelist.txt | 1 - 32 files changed, 2 insertions(+), 44 deletions(-) diff --git a/README b/README index 2e8ad3b..eb7892d 100644 --- a/README +++ b/README @@ -2477,10 +2477,6 @@ Configuration Settings: Begin and End addresses of the area used by the simple memory test. -- CONFIG_SYS_MEMTEST_SCRATCH: - Scratch address used by the alternate memory test - You only need to set this if address zero isn't writeable - - CONFIG_SYS_MEM_RESERVE_SECURE Only implemented for ARMv8 for now. If defined, the size of CONFIG_SYS_MEM_RESERVE_SECURE memory diff --git a/cmd/mem.c b/cmd/mem.c index 009b7b5..18f0510 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 */ diff --git a/include/configs/MigoR.h b/include/configs/MigoR.h index c58b781..2421300 100644 --- a/include/configs/MigoR.h +++ b/include/configs/MigoR.h @@ -32,7 +32,6 @@ /* Enable alternate, more extensive, memory test */ /* Scratch address used by the alternate memory test */ -#undef CONFIG_SYS_MEMTEST_SCRATCH /* Enable temporary baudrate change while serial download */ #undef CONFIG_SYS_LOADS_BAUD_CHANGE diff --git a/include/configs/advantech_dms-ba16.h b/include/configs/advantech_dms-ba16.h index deb4374..b7b1ac2 100644 --- a/include/configs/advantech_dms-ba16.h +++ b/include/configs/advantech_dms-ba16.h @@ -185,7 +185,6 @@ #define CONFIG_SYS_MEMTEST_START 0x10000000 #define CONFIG_SYS_MEMTEST_END 0x10010000 -#define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000 #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR diff --git a/include/configs/apalis_imx6.h b/include/configs/apalis_imx6.h index fb00374..49a28f5 100644 --- a/include/configs/apalis_imx6.h +++ b/include/configs/apalis_imx6.h @@ -212,7 +212,6 @@ #define CONFIG_SYS_MEMTEST_START 0x10000000 #define CONFIG_SYS_MEMTEST_END 0x10010000 -#define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000 #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR diff --git a/include/configs/aristainetos2.h b/include/configs/aristainetos2.h index 5f4a4f8..336cf17 100644 --- a/include/configs/aristainetos2.h +++ b/include/configs/aristainetos2.h @@ -409,7 +409,6 @@ #define CONFIG_SYS_MEMTEST_START PHYS_SDRAM #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + 0x100000) -#define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000 /* Physical Memory Map */ #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR diff --git a/include/configs/armadillo-800eva.h b/include/configs/armadillo-800eva.h index e569296..c089b9c 100644 --- a/include/configs/armadillo-800eva.h +++ b/include/configs/armadillo-800eva.h @@ -43,7 +43,6 @@ #define CONFIG_SYS_MEMTEST_START (ARMADILLO_800EVA_SDRAM_BASE) #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + \ 504 * 1024 * 1024) -#undef CONFIG_SYS_MEMTEST_SCRATCH #undef CONFIG_SYS_LOADS_BAUD_CHANGE #define CONFIG_SYS_SDRAM_BASE (ARMADILLO_800EVA_SDRAM_BASE) diff --git a/include/configs/blanche.h b/include/configs/blanche.h index 7ee38a7..fd29c5d 100644 --- a/include/configs/blanche.h +++ b/include/configs/blanche.h @@ -22,7 +22,6 @@ #define RCAR_GEN2_SDRAM_SIZE (1024u * 1024 * 1024) #define RCAR_GEN2_UBOOT_SDRAM_SIZE (512 * 1024 * 1024) -#undef CONFIG_SYS_MEMTEST_SCRATCH #undef CONFIG_SYS_LOADS_BAUD_CHANGE /* FLASH */ diff --git a/include/configs/cgtqmx6eval.h b/include/configs/cgtqmx6eval.h index 797fcb1..b6dfcdd 100644 --- a/include/configs/cgtqmx6eval.h +++ b/include/configs/cgtqmx6eval.h @@ -189,7 +189,6 @@ #define CONFIG_SYS_MEMTEST_START 0x10000000 #define CONFIG_SYS_MEMTEST_END 0x10010000 -#define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000 /* Physical Memory Map */ #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR diff --git a/include/configs/colibri_imx6.h b/include/configs/colibri_imx6.h index 4cdd3c5..706665e 100644 --- a/include/configs/colibri_imx6.h +++ b/include/configs/colibri_imx6.h @@ -191,7 +191,6 @@ #define CONFIG_SYS_MEMTEST_START 0x10000000 #define CONFIG_SYS_MEMTEST_END 0x10010000 -#define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000 #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR diff --git a/include/configs/dh_imx6.h b/include/configs/dh_imx6.h index 087d020..e16c9ee 100644 --- a/include/configs/dh_imx6.h +++ b/include/configs/dh_imx6.h @@ -139,7 +139,6 @@ #define CONFIG_SYS_MEMTEST_START 0x10000000 #define CONFIG_SYS_MEMTEST_END 0x20000000 -#define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000 /* Environment */ diff --git a/include/configs/el6x_common.h b/include/configs/el6x_common.h index 95c04c3..bd42ad2 100644 --- a/include/configs/el6x_common.h +++ b/include/configs/el6x_common.h @@ -76,7 +76,6 @@ #define CONFIG_SYS_MEMTEST_START 0x10000000 #define CONFIG_SYS_MEMTEST_END 0x10800000 -#define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000 /* Physical Memory Map */ #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR diff --git a/include/configs/embestmx6boards.h b/include/configs/embestmx6boards.h index 6256111..bf51afb 100644 --- a/include/configs/embestmx6boards.h +++ b/include/configs/embestmx6boards.h @@ -51,7 +51,6 @@ #define CONFIG_SYS_MEMTEST_START 0x10000000 #define CONFIG_SYS_MEMTEST_END 0x10010000 -#define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000 /* Physical Memory Map */ #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR diff --git a/include/configs/ge_bx50v3.h b/include/configs/ge_bx50v3.h index 3bf0cd5..2b55f51 100644 --- a/include/configs/ge_bx50v3.h +++ b/include/configs/ge_bx50v3.h @@ -146,7 +146,6 @@ #define CONFIG_SYS_MEMTEST_START 0x10000000 #define CONFIG_SYS_MEMTEST_END 0x10010000 -#define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000 #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR diff --git a/include/configs/gw_ventana.h b/include/configs/gw_ventana.h index d169aa1..193c88e 100644 --- a/include/configs/gw_ventana.h +++ b/include/configs/gw_ventana.h @@ -133,7 +133,6 @@ /* Memory configuration */ #define CONFIG_SYS_MEMTEST_START 0x10000000 #define CONFIG_SYS_MEMTEST_END 0x10010000 -#define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000 /* Physical Memory Map */ #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR diff --git a/include/configs/imx6_logic.h b/include/configs/imx6_logic.h index 2274db0..e77fb4a 100644 --- a/include/configs/imx6_logic.h +++ b/include/configs/imx6_logic.h @@ -118,7 +118,6 @@ #define CONFIG_SYS_MEMTEST_START 0x10000000 #define CONFIG_SYS_MEMTEST_END 0x10010000 -#define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000 /* Physical Memory Map */ #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR diff --git a/include/configs/kzm9g.h b/include/configs/kzm9g.h index cceabdf..9ceb12f 100644 --- a/include/configs/kzm9g.h +++ b/include/configs/kzm9g.h @@ -38,7 +38,6 @@ #define CONFIG_SYS_MEMTEST_START (KZM_SDRAM_BASE) #define CONFIG_SYS_MEMTEST_END \ (CONFIG_SYS_MEMTEST_START + (60 * 1024 * 1024)) -#undef CONFIG_SYS_MEMTEST_SCRATCH #undef CONFIG_SYS_LOADS_BAUD_CHANGE #define CONFIG_SYS_INIT_RAM_ADDR (0xE5600000) /* on MERAM */ diff --git a/include/configs/mx6sabre_common.h b/include/configs/mx6sabre_common.h index ee3b754..b46367c 100644 --- a/include/configs/mx6sabre_common.h +++ b/include/configs/mx6sabre_common.h @@ -156,7 +156,6 @@ #define CONFIG_SYS_MEMTEST_START 0x10000000 #define CONFIG_SYS_MEMTEST_END 0x10010000 -#define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000 /* Physical Memory Map */ #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR diff --git a/include/configs/nitrogen6x.h b/include/configs/nitrogen6x.h index 9ef6ea9..5e09a78 100644 --- a/include/configs/nitrogen6x.h +++ b/include/configs/nitrogen6x.h @@ -132,7 +132,6 @@ /* Miscellaneous configurable options */ #define CONFIG_SYS_MEMTEST_START 0x10000000 #define CONFIG_SYS_MEMTEST_END 0x10010000 -#define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000 /* Physical Memory Map */ #define PHYS_SDRAM MMDC0_ARB_BASE_ADDR diff --git a/include/configs/presidio_asic.h b/include/configs/presidio_asic.h index 023092e..56f009a 100644 --- a/include/configs/presidio_asic.h +++ b/include/configs/presidio_asic.h @@ -27,7 +27,6 @@ #define GICD_BASE 0xf7011000 #define GICC_BASE 0xf7012000 -#define CONFIG_SYS_MEMTEST_SCRATCH 0x00100000 #define CONFIG_SYS_MEMTEST_START 0x05000000 #define CONFIG_SYS_MEMTEST_END 0x0D000000 diff --git a/include/configs/sh7752evb.h b/include/configs/sh7752evb.h index c45b33a..ff49b9c 100644 --- a/include/configs/sh7752evb.h +++ b/include/configs/sh7752evb.h @@ -25,7 +25,6 @@ #define CONFIG_SYS_MEMTEST_START (SH7752EVB_SDRAM_BASE) #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + \ 480 * 1024 * 1024) -#undef CONFIG_SYS_MEMTEST_SCRATCH #undef CONFIG_SYS_LOADS_BAUD_CHANGE #define CONFIG_SYS_SDRAM_BASE (SH7752EVB_SDRAM_BASE) diff --git a/include/configs/sh7753evb.h b/include/configs/sh7753evb.h index 70e7fb9..74fb528 100644 --- a/include/configs/sh7753evb.h +++ b/include/configs/sh7753evb.h @@ -25,7 +25,6 @@ #define CONFIG_SYS_MEMTEST_START (SH7753EVB_SDRAM_BASE) #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + \ 480 * 1024 * 1024) -#undef CONFIG_SYS_MEMTEST_SCRATCH #undef CONFIG_SYS_LOADS_BAUD_CHANGE #define CONFIG_SYS_SDRAM_BASE (SH7753EVB_SDRAM_BASE) diff --git a/include/configs/sh7757lcr.h b/include/configs/sh7757lcr.h index 6a34dc7..8f5c842 100644 --- a/include/configs/sh7757lcr.h +++ b/include/configs/sh7757lcr.h @@ -28,7 +28,6 @@ #define CONFIG_SYS_MEMTEST_START (SH7757LCR_SDRAM_BASE) #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + \ 224 * 1024 * 1024) -#undef CONFIG_SYS_MEMTEST_SCRATCH #undef CONFIG_SYS_LOADS_BAUD_CHANGE #define CONFIG_SYS_SDRAM_BASE (SH7757LCR_SDRAM_BASE) diff --git a/include/configs/stm32mp1.h b/include/configs/stm32mp1.h index ae9631e..cf04662 100644 --- a/include/configs/stm32mp1.h +++ b/include/configs/stm32mp1.h @@ -68,7 +68,6 @@ #define CONFIG_SYS_MEMTEST_START STM32_DDR_BASE #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + SZ_64M) -#define CONFIG_SYS_MEMTEST_SCRATCH (CONFIG_SYS_MEMTEST_END + 4) /*MMC SD*/ #define CONFIG_SYS_MMC_MAX_DEVICE 3 diff --git a/include/configs/tao3530.h b/include/configs/tao3530.h index e95cd00..c80776b 100644 --- a/include/configs/tao3530.h +++ b/include/configs/tao3530.h @@ -134,7 +134,6 @@ #define CONFIG_SYS_MEMTEST_START (0x82000000) /* memtest */ /* defaults */ #define CONFIG_SYS_MEMTEST_END (0x83FFFFFF) /* 64MB */ -#define CONFIG_SYS_MEMTEST_SCRATCH (0x81000000) /* dummy address */ #define CONFIG_SYS_LOAD_ADDR (OMAP34XX_SDRC_CS0) /* default */ /* load address */ diff --git a/include/configs/tricorder.h b/include/configs/tricorder.h index 1e44597..de6abb5 100644 --- a/include/configs/tricorder.h +++ b/include/configs/tricorder.h @@ -248,5 +248,4 @@ #define CONFIG_SYS_SPL_MALLOC_START 0x80208000 #define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 /* 1 MB */ -#define CONFIG_SYS_MEMTEST_SCRATCH 0x81000000 #endif /* __CONFIG_H */ diff --git a/include/configs/xilinx_versal.h b/include/configs/xilinx_versal.h index 0c259a1..480afd9 100644 --- a/include/configs/xilinx_versal.h +++ b/include/configs/xilinx_versal.h @@ -18,7 +18,6 @@ #define GICD_BASE 0xF9000000 #define GICR_BASE 0xF9080000 -#define CONFIG_SYS_MEMTEST_SCRATCH 0xfffc0000 #define CONFIG_SYS_MEMTEST_START 0 #define CONFIG_SYS_MEMTEST_END 1000 diff --git a/include/configs/xilinx_versal_mini.h b/include/configs/xilinx_versal_mini.h index ee305e0..ae7eca1 100644 --- a/include/configs/xilinx_versal_mini.h +++ b/include/configs/xilinx_versal_mini.h @@ -10,7 +10,6 @@ #ifndef __CONFIG_VERSAL_MINI_H #define __CONFIG_VERSAL_MINI_H -#define CONFIG_SYS_MEMTEST_SCRATCH 0xfffc0000 #define CONFIG_EXTRA_ENV_SETTINGS diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h index eddc2b4..01e0520 100644 --- a/include/configs/xilinx_zynqmp.h +++ b/include/configs/xilinx_zynqmp.h @@ -19,10 +19,6 @@ #define GICD_BASE 0xF9010000 #define GICC_BASE 0xF9020000 -#ifndef CONFIG_SYS_MEMTEST_SCRATCH -# define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000 -#endif - #define CONFIG_SYS_MEMTEST_START 0 #define CONFIG_SYS_MEMTEST_END 1000 diff --git a/include/configs/xilinx_zynqmp_mini.h b/include/configs/xilinx_zynqmp_mini.h index a692289..3078b9c5 100644 --- a/include/configs/xilinx_zynqmp_mini.h +++ b/include/configs/xilinx_zynqmp_mini.h @@ -10,7 +10,6 @@ #ifndef __CONFIG_ZYNQMP_MINI_H #define __CONFIG_ZYNQMP_MINI_H -#define CONFIG_SYS_MEMTEST_SCRATCH 0xfffc0000 #define CONFIG_EXTRA_ENV_SETTINGS diff --git a/include/configs/xilinx_zynqmp_r5.h b/include/configs/xilinx_zynqmp_r5.h index 155d7fe..327f0af 100644 --- a/include/configs/xilinx_zynqmp_r5.h +++ b/include/configs/xilinx_zynqmp_r5.h @@ -40,6 +40,5 @@ /* 0x0 - 0x40 is used for placing exception vectors */ #define CONFIG_SYS_MEMTEST_START 0x40 #define CONFIG_SYS_MEMTEST_END 0x100 -#define CONFIG_SYS_MEMTEST_SCRATCH 0 #endif /* __CONFIG_ZYNQ_ZYNQMP_R5_H */ diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index 2678626..cb401d3 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -3076,7 +3076,6 @@ CONFIG_SYS_MEMAC_LITTLE_ENDIAN CONFIG_SYS_MEMORY_BASE CONFIG_SYS_MEMORY_SIZE CONFIG_SYS_MEMTEST_END -CONFIG_SYS_MEMTEST_SCRATCH CONFIG_SYS_MEMTEST_START CONFIG_SYS_MEM_MAP CONFIG_SYS_MEM_RESERVE_SECURE -- 2.7.4