[U-Boot] [PATCH v3 26/62] x86: board_r: Set the global data pointer after relocation

Bin Meng bmeng.cn at gmail.com
Tue Jan 17 03:58:38 CET 2017


On Tue, Jan 17, 2017 at 10:29 AM, Bin Meng <bmeng.cn at gmail.com> wrote:
> On Mon, Jan 16, 2017 at 10:03 PM, Simon Glass <sjg at chromium.org> wrote:
>> 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 at chromium.org>
>> ---
>>
>> Changes in v3:
>> - Add a TODO to board_init_r() regarding the use of the new_gd parameter
>>
>> Changes in v2: None
>>
>>  common/board_r.c | 10 ++++++++++
>>  1 file changed, 10 insertions(+)
>>
>
> Reviewed-by: Bin Meng <bmeng.cn at gmail.com>

applied to u-boot-x86, thanks!


More information about the U-Boot mailing list