summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/x86/cpu/start.S10
-rw-r--r--arch/x86/include/asm/global_data.h8
2 files changed, 11 insertions, 7 deletions
diff --git a/arch/x86/cpu/start.S b/arch/x86/cpu/start.S
index 7ef8b880ec..a0dec39abe 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
diff --git a/arch/x86/include/asm/global_data.h b/arch/x86/include/asm/global_data.h
index 4d9eac676e..3db9a4cf0b 100644
--- a/arch/x86/include/asm/global_data.h
+++ b/arch/x86/include/asm/global_data.h
@@ -87,14 +87,14 @@ static inline __attribute__((no_instrument_function)) gd_t *get_fs_gd_ptr(void)
#define gd get_fs_gd_ptr()
+#define DECLARE_GLOBAL_DATA_PTR
+
#endif
/*
* Our private Global Data Flags
*/
-#define GD_FLG_COLD_BOOT 0x00100 /* Cold Boot */
-#define GD_FLG_WARM_BOOT 0x00200 /* Warm Boot */
-
-#define DECLARE_GLOBAL_DATA_PTR
+#define GD_FLG_COLD_BOOT 0x10000 /* Cold Boot */
+#define GD_FLG_WARM_BOOT 0x20000 /* Warm Boot */
#endif /* __ASM_GBL_DATA_H */