提交 83ec7de3 编写于 作者: S Simon Glass

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: NSimon Glass <sjg@chromium.org>
Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
上级 b0b403d9
......@@ -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
......
......@@ -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 */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册