summaryrefslogtreecommitdiff
path: root/arch/i386/cpu/start.S
diff options
context:
space:
mode:
authorGraeme Russ <graeme.russ@gmail.com>2011-02-12 15:11:50 +1100
committerGraeme Russ <graeme.russ@gmail.com>2011-02-12 15:11:50 +1100
commit2e2613d2c4755426cb6bfddf1ca7714b0deec177 (patch)
tree7430db819968e9b01c5dbb486f5e88e5367a355e /arch/i386/cpu/start.S
parentcfbe861506e2dc3250ac99dc45bb3d1ac60f4857 (diff)
x86: Move initial gd to fixed location
Diffstat (limited to 'arch/i386/cpu/start.S')
-rw-r--r--arch/i386/cpu/start.S12
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/i386/cpu/start.S b/arch/i386/cpu/start.S
index 97bac8f3a6..0ce97134d5 100644
--- a/arch/i386/cpu/start.S
+++ b/arch/i386/cpu/start.S
@@ -127,13 +127,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
+ /* Pointer to temporary global data */
+ movl $CONFIG_SYS_INIT_GD_ADDR, %edx
- /* %eax points to the global data structure */
- movl %esp, (GD_RAM_SIZE * 4)(%eax)
- movl %ebx, (GD_FLAGS * 4)(%eax)
- movl %ecx, (GD_LOAD_OFF * 4)(%eax)
+ /* %edx points to the global data structure */
+ movl %esp, (GD_RAM_SIZE * 4)(%edx)
+ movl %ebx, (GD_FLAGS * 4)(%edx)
+ movl %ecx, (GD_LOAD_OFF * 4)(%edx)
call board_init_f /* Enter, U-boot! */