diff options
author | Graeme Russ <graeme.russ@gmail.com> | 2010-10-07 20:03:26 +1100 |
---|---|---|
committer | Graeme Russ <graeme.russ@gmail.com> | 2010-10-07 20:03:26 +1100 |
commit | 00940a229d564044d52a5449bce14090c7298f92 (patch) | |
tree | 9ae61181efebefd3cc4c2c98be72a3044e49e61b /arch/i386/cpu/start.S | |
parent | 6ae032a86aa21def97aada054bd24589fdb8e947 (diff) | |
download | u-boot-imx-00940a229d564044d52a5449bce14090c7298f92.zip u-boot-imx-00940a229d564044d52a5449bce14090c7298f92.tar.gz u-boot-imx-00940a229d564044d52a5449bce14090c7298f92.tar.bz2 |
x86: Move ECC initialisation outside RAM initialisation
To allow for 'load anywhere' images, the %ebp return pointer 'hack' must
be removed, so we cannot have two 'calls' to get_mem_size
Diffstat (limited to 'arch/i386/cpu/start.S')
-rw-r--r-- | arch/i386/cpu/start.S | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/i386/cpu/start.S b/arch/i386/cpu/start.S index cb47ce7..819274f 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 init_ecc_ret + 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 |