public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [RFC PATCH] armv7:omap4-common: Correct check of the SPL image size
@ 2013-07-24 14:02 Oleg Kosheliev
  2013-08-28 14:40 ` Tom Rini
  0 siblings, 1 reply; 3+ messages in thread
From: Oleg Kosheliev @ 2013-07-24 14:02 UTC (permalink / raw)
  To: u-boot

From: Oleg_Kosheliev <oleg.kosheliev@ti.com>

The u-boot-spl image must be stored in SRAM at
addresses from 0x40300000 till 0x4030bfff.
Higher than that area is located the ROM code stack.
Thus we should check that the highest address
of the SPL image is not in the stack area or higher.
In this patch CONFIG_SPL_MAX_SIZE is corrected based
on the max allowed for SPL image address.

Signed-off-by: Oleg Kosheliev <oleg.kosheliev@ti.com>
---
 include/configs/omap4_common.h |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/include/configs/omap4_common.h b/include/configs/omap4_common.h
index 2fa4382..aeeef6c 100644
--- a/include/configs/omap4_common.h
+++ b/include/configs/omap4_common.h
@@ -266,7 +266,14 @@
 #define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TEXT_BASE		0x40304350
-#define CONFIG_SPL_MAX_SIZE		(38 * 1024)
+/*
+ * The allowed space in SRAM for SPL is from 0x40300000 till 0x4030bfff.
+ * The space above 0x4030c000 is used by ROM code stack
+ * and this area must not be rewritten by the SPL
+ */
+#define CONFIG_SPL_MAX_ADDR		0x4030bfff
+#define CONFIG_SPL_MAX_SIZE		(CONFIG_SPL_MAX_ADDR - \
+					 CONFIG_SPL_TEXT_BASE)
 #define CONFIG_SPL_STACK		CONFIG_SYS_INIT_SP_ADDR
 #define CONFIG_SPL_DISPLAY_PRINT
 
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [U-Boot] [RFC PATCH] armv7:omap4-common: Correct check of the SPL image size
  2013-07-24 14:02 [U-Boot] [RFC PATCH] armv7:omap4-common: Correct check of the SPL image size Oleg Kosheliev
@ 2013-08-28 14:40 ` Tom Rini
  2013-09-02  7:56   ` Lokesh Vutla
  0 siblings, 1 reply; 3+ messages in thread
From: Tom Rini @ 2013-08-28 14:40 UTC (permalink / raw)
  To: u-boot

On Wed, Jul 24, 2013 at 05:02:04PM +0300, Oleg Kosheliev wrote:

> From: Oleg_Kosheliev <oleg.kosheliev@ti.com>
> 
> The u-boot-spl image must be stored in SRAM at
> addresses from 0x40300000 till 0x4030bfff.
> Higher than that area is located the ROM code stack.
> Thus we should check that the highest address
> of the SPL image is not in the stack area or higher.
> In this patch CONFIG_SPL_MAX_SIZE is corrected based
> on the max allowed for SPL image address.
> 
> Signed-off-by: Oleg Kosheliev <oleg.kosheliev@ti.com>
> ---
>  include/configs/omap4_common.h |    9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/include/configs/omap4_common.h b/include/configs/omap4_common.h
> index 2fa4382..aeeef6c 100644
> --- a/include/configs/omap4_common.h
> +++ b/include/configs/omap4_common.h
> @@ -266,7 +266,14 @@
>  #define CONFIG_SPL
>  #define CONFIG_SPL_FRAMEWORK
>  #define CONFIG_SPL_TEXT_BASE		0x40304350
> -#define CONFIG_SPL_MAX_SIZE		(38 * 1024)
> +/*
> + * The allowed space in SRAM for SPL is from 0x40300000 till 0x4030bfff.
> + * The space above 0x4030c000 is used by ROM code stack
> + * and this area must not be rewritten by the SPL

Note that we are allowed to use the public stack area (and should, for
our scratch space) but must not exceed the download image area of
0x40300000 - 0x4030bfff.  See include/configs/ti_armv7_common.h for how
the comment should look.  And if you have time, please convert the OMAP4
platforms to use ti_armv7_common.h

> +#define CONFIG_SPL_MAX_ADDR		0x4030bfff
> +#define CONFIG_SPL_MAX_SIZE		(CONFIG_SPL_MAX_ADDR - \
> +					 CONFIG_SPL_TEXT_BASE)

Just say:
#define CONFIG_SPL_MAX_SIZE		(0x4030C000 - \
					 CONFIG_SPL_TEXT_BASE)

>  #define CONFIG_SPL_STACK		CONFIG_SYS_INIT_SP_ADDR
>  #define CONFIG_SPL_DISPLAY_PRINT

We need to change things like in
http://patchwork.ozlabs.org/patch/268511/ including changing the scratch
area.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130828/d343d3bf/attachment.pgp>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [U-Boot] [RFC PATCH] armv7:omap4-common: Correct check of the SPL image size
  2013-08-28 14:40 ` Tom Rini
@ 2013-09-02  7:56   ` Lokesh Vutla
  0 siblings, 0 replies; 3+ messages in thread
From: Lokesh Vutla @ 2013-09-02  7:56 UTC (permalink / raw)
  To: u-boot

Hi Tom,
On Wednesday 28 August 2013 08:10 PM, Tom Rini wrote:
> On Wed, Jul 24, 2013 at 05:02:04PM +0300, Oleg Kosheliev wrote:
> 
>> From: Oleg_Kosheliev <oleg.kosheliev@ti.com>
>>
>> The u-boot-spl image must be stored in SRAM at
>> addresses from 0x40300000 till 0x4030bfff.
>> Higher than that area is located the ROM code stack.
>> Thus we should check that the highest address
>> of the SPL image is not in the stack area or higher.
>> In this patch CONFIG_SPL_MAX_SIZE is corrected based
>> on the max allowed for SPL image address.
>>
>> Signed-off-by: Oleg Kosheliev <oleg.kosheliev@ti.com>
>> ---
>>  include/configs/omap4_common.h |    9 ++++++++-
>>  1 file changed, 8 insertions(+), 1 deletion(-)
>>
>> diff --git a/include/configs/omap4_common.h b/include/configs/omap4_common.h
>> index 2fa4382..aeeef6c 100644
>> --- a/include/configs/omap4_common.h
>> +++ b/include/configs/omap4_common.h
>> @@ -266,7 +266,14 @@
>>  #define CONFIG_SPL
>>  #define CONFIG_SPL_FRAMEWORK
>>  #define CONFIG_SPL_TEXT_BASE		0x40304350
>> -#define CONFIG_SPL_MAX_SIZE		(38 * 1024)
>> +/*
>> + * The allowed space in SRAM for SPL is from 0x40300000 till 0x4030bfff.
>> + * The space above 0x4030c000 is used by ROM code stack
>> + * and this area must not be rewritten by the SPL
> 
> Note that we are allowed to use the public stack area (and should, for
> our scratch space) but must not exceed the download image area of
> 0x40300000 - 0x4030bfff.  See include/configs/ti_armv7_common.h for how
> the comment should look.  And if you have time, please convert the OMAP4
> platforms to use ti_armv7_common.h
> 
>> +#define CONFIG_SPL_MAX_ADDR		0x4030bfff
>> +#define CONFIG_SPL_MAX_SIZE		(CONFIG_SPL_MAX_ADDR - \
>> +					 CONFIG_SPL_TEXT_BASE)
> 
> Just say:
> #define CONFIG_SPL_MAX_SIZE		(0x4030C000 - \
> 					 CONFIG_SPL_TEXT_BASE)
> 
>>  #define CONFIG_SPL_STACK		CONFIG_SYS_INIT_SP_ADDR
>>  #define CONFIG_SPL_DISPLAY_PRINT
> 
> We need to change things like in
> http://patchwork.ozlabs.org/patch/268511/ including changing the scratch
> area.
When I change the CONFIG_SPL_TEXT_BASE to 0x40304000 like below,
breaks on HS devices. There is a limitation on HS devices that first 0x350 space
should not be used.

Here is the diff:
diff --git a/arch/arm/include/asm/arch-omap4/omap.h b/arch/arm/include/asm/arch-omap4/omap.h
index 3823a37..3df0d48 100644
--- a/arch/arm/include/asm/arch-omap4/omap.h
+++ b/arch/arm/include/asm/arch-omap4/omap.h
@@ -111,7 +111,7 @@ struct s32ktimer {
  */
 #define NON_SECURE_SRAM_START	0x40304000
 #define NON_SECURE_SRAM_END	0x4030E000	/* Not inclusive */
-#define SRAM_SCRATCH_SPACE_ADDR	NON_SECURE_SRAM_START
+#define SRAM_SCRATCH_SPACE_ADDR	0x4030C000
 /* base address for indirect vectors (internal boot mode) */
 #define SRAM_ROM_VECT_BASE	0x4030D000
 
diff --git a/include/configs/omap4_common.h b/include/configs/omap4_common.h
index e9f2383..f57ee95 100644
--- a/include/configs/omap4_common.h
+++ b/include/configs/omap4_common.h
@@ -250,8 +250,8 @@
 /* Defines for SPL */
 #define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
-#define CONFIG_SPL_TEXT_BASE		0x40304350
-#define CONFIG_SPL_MAX_SIZE		(38 * 1024)
+#define CONFIG_SPL_TEXT_BASE		0x40304000
+#define CONFIG_SPL_MAX_SIZE		(0x4030C000 - CONFIG_SPL_TEXT_BASE)
 #define CONFIG_SPL_STACK		CONFIG_SYS_INIT_SP_ADDR
 #define CONFIG_SPL_DISPLAY_PRINT

Not sure if this is same for OMAP5 devices.
Please correct me if I am wrong.

Thanks and regards,
Lokesh
> 
> 
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
> 

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-09-02  7:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-24 14:02 [U-Boot] [RFC PATCH] armv7:omap4-common: Correct check of the SPL image size Oleg Kosheliev
2013-08-28 14:40 ` Tom Rini
2013-09-02  7:56   ` Lokesh Vutla

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox