summaryrefslogtreecommitdiff
path: root/arch/x86/cpu/start.S
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2015-07-31 09:31:28 -0600
committerSimon Glass <sjg@chromium.org>2015-08-05 08:42:40 -0600
commit83ec7de3bc17dda42d681d3a015191a23c6f1f73 (patch)
treecd4b5a8f05e665c77cdc3fa973f384ff57dfe6e1 /arch/x86/cpu/start.S
parentb0b403d954081520ba82fef24dee6486ffebe017 (diff)
downloadu-boot-imx-83ec7de3bc17dda42d681d3a015191a23c6f1f73.zip
u-boot-imx-83ec7de3bc17dda42d681d3a015191a23c6f1f73.tar.gz
u-boot-imx-83ec7de3bc17dda42d681d3a015191a23c6f1f73.tar.bz2
x86: Tidy up global_data flags
These flags now overlap some global ones. Adjust the x86-specific flags to avoid this. Since this requires a change to the start.S code, add a way for tools to find the 32-bit cold reset entry point. Previously this was at a fixed offset. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'arch/x86/cpu/start.S')
-rw-r--r--arch/x86/cpu/start.S10
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/x86/cpu/start.S b/arch/x86/cpu/start.S
index 7ef8b88..a0dec39 100644
--- a/arch/x86/cpu/start.S
+++ b/arch/x86/cpu/start.S
@@ -41,14 +41,18 @@ _x86boot_start:
wbinvd
/* Tell 32-bit code it is being entered from an in-RAM copy */
- movw $GD_FLG_WARM_BOOT, %bx
+ movl $GD_FLG_WARM_BOOT, %ebx
jmp 1f
+
+ /* Add a way for tools to discover the _start entry point */
+ .align 4
+ .long 0x12345678
_start:
/*
* This is the 32-bit cold-reset entry point, coming from start16.
- * Set %bx to 0 to indicate this.
+ * Set %ebx to GD_FLG_COLD_BOOT to indicate this.
*/
- movw $GD_FLG_COLD_BOOT, %bx
+ movl $GD_FLG_COLD_BOOT, %ebx
1:
/* Save BIST */
movl %eax, %ebp