#include <config.h>
#include <version.h>
+#include <asm/global_data.h>
.section .text
/* Test the stack */
pushl $0
- popl %eax
- cmpl $0, %eax
+ popl %ecx
+ cmpl $0, %ecx
jne die
push $0x55aa55aa
- popl %ebx
- cmpl $0x55aa55aa, %ebx
+ popl %ecx
+ cmpl $0x55aa55aa, %ecx
jne die
wbinvd
/* Set the upper memory limit parameter */
- movl %esp, %eax
subl $CONFIG_SYS_STACK_SIZE, %eax
+ /* Reserve space for global data */
+ subl $(GD_SIZE * 4), %eax
+
+ /* %eax points to the global data structure */
+ movl %esp, (GD_RAM_SIZE * 4)(%eax)
+ movl %ebx, (GD_FLAGS * 4)(%eax)
+
call board_init_f /* Enter, U-boot! */
/* indicate (lack of) progress */