diff mbox

[U-Boot,2/5] mx35pdk: Provide proper range for memtest

Message ID 1329061116-3471-2-git-send-email-festevam@gmail.com
State Changes Requested
Headers show

Commit Message

Fabio Estevam Feb. 12, 2012, 3:38 p.m. UTC
From: Fabio Estevam <fabio.estevam@freescale.com>

memtest adresses should contain proper DRAM address range.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
 include/configs/mx35pdk.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

Comments

Stefano Babic Feb. 13, 2012, 7:26 a.m. UTC | #1
On 12/02/2012 16:38, Fabio Estevam wrote:
> From: Fabio Estevam <fabio.estevam@freescale.com>
> 
> memtest adresses should contain proper DRAM address range.
> 
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
> ---
>  include/configs/mx35pdk.h |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/include/configs/mx35pdk.h b/include/configs/mx35pdk.h
> index 0c62b9f..f2d4112 100644
> --- a/include/configs/mx35pdk.h
> +++ b/include/configs/mx35pdk.h
> @@ -156,8 +156,8 @@
>  #define CONFIG_SYS_MAXARGS	16	/* max number of command args */
>  #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
>  
> -#define CONFIG_SYS_MEMTEST_START	0	/* memtest works on */
> -#define CONFIG_SYS_MEMTEST_END		0x10000
> +#define CONFIG_SYS_MEMTEST_START	(PHYS_SDRAM_1 + PHYS_SDRAM_1_SIZE/2)
> +#define CONFIG_SYS_MEMTEST_END		(PHYS_SDRAM_1 + PHYS_SDRAM_1_SIZE)
>  
>  #undef	CONFIG_SYS_CLKS_IN_HZ	/* everything, incl board info, in Hz */
>  
Personally I do not like that the memory test runs taking automatically
the input parameters - even if the test must run automatically, I think
it is better to put the parameters inside a script else to compile them
with U-Boot.

But if we want to change them, why to put the start address at the
middle of RAM ? The mx35pdk can have two banks of RAM, and the second
one will still not tested. What I mean is that it is quite arbitrary
where to set CONFIG_SYS_MEMTEST_START and CONFIG_SYS_MEMTEST_END, and
with the possibility on some boards to have different RAM configurations
this setup should be not decided at compile time.

And setting the end of test at the end of RAM (but this can open a
debate: really the RAM size is computed at runtime with get_ram_size())
will overwrite U-Boot.

Stefano
Stefano Babic March 7, 2012, 10:10 a.m. UTC | #2
On 12/02/2012 16:38, Fabio Estevam wrote:
> From: Fabio Estevam <fabio.estevam@freescale.com>
> 
> memtest adresses should contain proper DRAM address range.
> 
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
> ---
>  include/configs/mx35pdk.h |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/include/configs/mx35pdk.h b/include/configs/mx35pdk.h
> index 0c62b9f..f2d4112 100644
> --- a/include/configs/mx35pdk.h
> +++ b/include/configs/mx35pdk.h
> @@ -156,8 +156,8 @@
>  #define CONFIG_SYS_MAXARGS	16	/* max number of command args */
>  #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
>  
> -#define CONFIG_SYS_MEMTEST_START	0	/* memtest works on */
> -#define CONFIG_SYS_MEMTEST_END		0x10000
> +#define CONFIG_SYS_MEMTEST_START	(PHYS_SDRAM_1 + PHYS_SDRAM_1_SIZE/2)
> +#define CONFIG_SYS_MEMTEST_END		(PHYS_SDRAM_1 + PHYS_SDRAM_1_SIZE)
>  
>  #undef	CONFIG_SYS_CLKS_IN_HZ	/* everything, incl board info, in Hz */
>  

Applied to u-boot-imx, thans.

Best regards,
Stefano Babic
Wolfgang Denk March 7, 2012, 12:38 p.m. UTC | #3
Dear Stefano Babic,

In message <4F5733F8.6030806@denx.de> you wrote:
>
> > +#define CONFIG_SYS_MEMTEST_START	(PHYS_SDRAM_1 + PHYS_SDRAM_1_SIZE/2)
> > +#define CONFIG_SYS_MEMTEST_END		(PHYS_SDRAM_1 + PHYS_SDRAM_1_SIZE)
> >  
> >  #undef	CONFIG_SYS_CLKS_IN_HZ	/* everything, incl board info, in Hz */
> >  
> 
> Applied to u-boot-imx, thans.

But this looks broken to me.

U-Boot will relocate itself to the end of RAM, and pout malloc arena
and stack below.  All this will be overwritten with this setup.

Has anybody actually tested this configuration?

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@denx.de
Always borrow money from a pessimist; they don't expect  to  be  paid
back.
Stefano Babic March 7, 2012, 1:08 p.m. UTC | #4
On 07/03/2012 13:38, Wolfgang Denk wrote:
> Dear Stefano Babic,
> 
> In message <4F5733F8.6030806@denx.de> you wrote:
>>
>>> +#define CONFIG_SYS_MEMTEST_START	(PHYS_SDRAM_1 + PHYS_SDRAM_1_SIZE/2)
>>> +#define CONFIG_SYS_MEMTEST_END		(PHYS_SDRAM_1 + PHYS_SDRAM_1_SIZE)
>>>  
>>>  #undef	CONFIG_SYS_CLKS_IN_HZ	/* everything, incl board info, in Hz */
>>>  
>>
>> Applied to u-boot-imx, thans.
> 
> But this looks broken to me.

Me too. I have not applied this patch. Rather I sent the "applied"
message to the wrong patchset.

> 
> U-Boot will relocate itself to the end of RAM, and pout malloc arena
> and stack below.  All this will be overwritten with this setup.

This was stated also in the thread related this patchset. Sorry for the
confusion, I have really applied another patchset by Fabio, as you can
see on u-boot-imx:

mx31pdk: Fix CONFIG_SYS_MEMTEST_END
efikamx: Fix CONFIG_SYS_MEMTEST_END
mx53smd: Fix CONFIG_SYS_MEMTEST_END
mx53evk: Fix CONFIG_SYS_MEMTEST_END
mx51evk: Fix CONFIG_SYS_MEMTEST_END

In patchworks things are ok, only my e-mail was wrong (reply to wrong
e-mail).

Best regards,
Stefano Babic
diff mbox

Patch

diff --git a/include/configs/mx35pdk.h b/include/configs/mx35pdk.h
index 0c62b9f..f2d4112 100644
--- a/include/configs/mx35pdk.h
+++ b/include/configs/mx35pdk.h
@@ -156,8 +156,8 @@ 
 #define CONFIG_SYS_MAXARGS	16	/* max number of command args */
 #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
 
-#define CONFIG_SYS_MEMTEST_START	0	/* memtest works on */
-#define CONFIG_SYS_MEMTEST_END		0x10000
+#define CONFIG_SYS_MEMTEST_START	(PHYS_SDRAM_1 + PHYS_SDRAM_1_SIZE/2)
+#define CONFIG_SYS_MEMTEST_END		(PHYS_SDRAM_1 + PHYS_SDRAM_1_SIZE)
 
 #undef	CONFIG_SYS_CLKS_IN_HZ	/* everything, incl board info, in Hz */