
On 23/08/2012 11:28, Stefan Roese wrote:
Hi Stefano,
On 08/23/2012 11:23 AM, Stefano Babic wrote:
diff --git a/common/spl/spl.c b/common/spl/spl.c index 7d15460..827ff1c 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -100,7 +100,11 @@ void spl_parse_image_header(const struct image_header *header) debug("mkimage signature not found - ih_magic = %x\n", header->ih_magic); /* Let's assume U-Boot will not be more than 200 KB */ +#ifdef CONFIG_SYS_MONITOR_LEN
spl_image.size = CONFIG_SYS_MONITOR_LEN;
+#else spl_image.size = 200 * 1024; +#endif
Yes, I noticed this 200 KiB setting as well. But it seems that this ".size" variable is not referenced at all. Or am I missing something?
Your are missing something:
drivers/mmc/spl_mmc.c:
55 /* convert size to sectors - round up */ 56 image_size_sectors = (spl_image.size + MMCSD_SECTOR_SIZE - 1) / 57 MMCSD_SECTOR_SIZE;
And I have an example where only a part of u-boot is copied.
Ahh, I see. Thanks.
I would prefer the following approach then, to move the #ifdef out of the C code:
#ifndef CONFIG_SYS_MONITOR_LEN #define CONFIG_SYS_MONITOR_LEN (200 * 1024) #endif
and then use CONFIG_SYS_MONITOR_LEN unconditionally.
Fine with me - I will fix in V2.
Regards, Stefano