x86: Call early_board_init when warm booting

early_board_init has been skipped to avoid SDRAM corruption in the case
that a fully relocatable image has been loaded into SDRAM and is being
executed from SDRAM. x86 is being aligned with other architectures (ARM
and PPC in particlar) and will be using Cache-As-RAM to run a C
environment from Flash (or SRAM if you have some). early_board_init may
be needed to assist in the setup of Cache-As-RAM and the early C
environment
This commit is contained in:
Graeme Russ 2011-02-12 15:11:33 +11:00
parent 0c24c9cc71
commit 4e33467d44
1 changed files with 5 additions and 5 deletions

View File

@ -67,16 +67,16 @@ _start:
/* Clear the interupt vectors */
lidt blank_idt_ptr
/* Skip low-level initialization if not starting from cold-reset */
movl %ebx, %ecx
andl $GD_FLG_COLD_BOOT, %ecx
jz skip_mem_init
/* Early platform init (setup gpio, etc ) */
jmp early_board_init
.globl early_board_init_ret
early_board_init_ret:
/* Skip memory initialization if not starting from cold-reset */
movl %ebx, %ecx
andl $GD_FLG_COLD_BOOT, %ecx
jz skip_mem_init
/* size memory */
jmp mem_init
.globl mem_init_ret