diff options
author | Simon Glass <sjg@chromium.org> | 2017-01-16 07:03:51 -0700 |
---|---|---|
committer | Bin Meng <bmeng.cn@gmail.com> | 2017-02-06 11:38:46 +0800 |
commit | fb92308b983d54f6275ae0ced0e6930dfcc5bdec (patch) | |
tree | 36fc2ee04566c78fe4c36b04d0632f560b63ecc3 /drivers/bios_emulator/x86emu | |
parent | 4acff4524783d860d873e131057602e43b8294f9 (diff) | |
download | u-boot-imx-fb92308b983d54f6275ae0ced0e6930dfcc5bdec.zip u-boot-imx-fb92308b983d54f6275ae0ced0e6930dfcc5bdec.tar.gz u-boot-imx-fb92308b983d54f6275ae0ced0e6930dfcc5bdec.tar.bz2 |
x86: board_r: Set the global data pointer after relocation
Since 'gd' is just a normal variable on 64-bit x86, it is relocated by the
time we get to board_init_r(). The old 'gd' variable is passed in as
parameter to board_init_r(), presumably for this situation.
Assign it on 64-bit x86 so that gd points to the correct data.
Options to improve this:
- Make gd a fixed register and remove the board_init_r() parameter
- Make all archs use this board_init_r() parameter
The second has a TODO in the code. The first has a TODO in a future commit
('x86: Support global_data on x86_64')
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'drivers/bios_emulator/x86emu')
0 files changed, 0 insertions, 0 deletions