
On 04/10/10 20:59, Sergei Shtylyov wrote:
Hello.
On 04-10-2010 7:37, Graeme Russ wrote:
To allow for 'load anywhere' images, the %ebp return pointer 'hack' must be removed, so we cannot have two 'calls' to get_mem_size
Signed-off-by: Graeme Russgraeme.russ@gmail.com
[...]
diff --git a/arch/i386/cpu/start.S b/arch/i386/cpu/start.S index cb47ce7..9e6e0bf 100644 --- a/arch/i386/cpu/start.S +++ b/arch/i386/cpu/start.S @@ -93,6 +93,17 @@ mem_init_ret: jmp get_mem_size get_mem_size_ret:
+#if CONFIG_SYS_SDRAM_ECC_ENABLE
- /* Skip ECC initialization if not starting from cold-reset */
- movl %ebx, %ecx
- andl $GD_FLG_COLD_BOOT, %ecx
- jz ecc_init_ret
But the label you added is called 'init_ecc_ret'. Are you sure the name is correct here?
Yes, if the board has not been cold-booted (i.e. a new U-Boot image has been loaded into RAM and executed) we must skip ECC initialization (it destroys the contents of memory)
- mov $init_ecc_ret, %ebp
- jmp init_ecc
+init_ecc_ret: +#endif
/* Check we have enough memory for stack */ movl $CONFIG_SYS_STACK_SIZE, %ecx cmpl %ecx, %eax
WBR, Sergei
Regards,
Graeme