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>
This commit is contained in:
parent
b0b403d954
commit
83ec7de3bc
2 changed files with 11 additions and 7 deletions
|
@ -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 */
|
||||
|
|
Loading…
Reference in a new issue