summaryrefslogtreecommitdiff
path: root/arch/i386/cpu/start.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/i386/cpu/start.S')
-rw-r--r--arch/i386/cpu/start.S8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/i386/cpu/start.S b/arch/i386/cpu/start.S
index 66ff4f3e06..cff4637589 100644
--- a/arch/i386/cpu/start.S
+++ b/arch/i386/cpu/start.S
@@ -25,6 +25,7 @@
#include <config.h>
#include <version.h>
+#include <asm/global_data.h>
.section .text
@@ -127,6 +128,13 @@ mem_ok:
/* Set the upper memory limit parameter */
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 */