x86: Don't duplicate global_ptr in 64-bit EFI app

This variable is already defined by the EFI code. Drop the duplicate
definition when building a 64-bit EFI app.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
Simon Glass 2021-11-03 21:09:08 -06:00 committed by Heinrich Schuchardt
parent e16c47fa3d
commit 9c297a3dab
3 changed files with 26 additions and 14 deletions

View file

@ -8,20 +8,7 @@
#include <cpu_func.h>
#include <debug_uart.h>
#include <init.h>
/*
* Global declaration of gd.
*
* As we write to it before relocation we have to make sure it is not put into
* a .bss section which may overlap a .rela section. Initialization forces it
* into a .data section which cannot overlap any .rela section.
*/
struct global_data *global_data_ptr = (struct global_data *)~0;
void arch_setup_gd(gd_t *new_gd)
{
global_data_ptr = new_gd;
}
#include <asm/global_data.h>
int cpu_has_64bit(void)
{

View file

@ -7,6 +7,22 @@
#include <common.h>
#include <init.h>
DECLARE_GLOBAL_DATA_PTR;
/*
* Global declaration of gd.
*
* As we write to it before relocation we have to make sure it is not put into
* a .bss section which may overlap a .rela section. Initialization forces it
* into a .data section which cannot overlap any .rela section.
*/
struct global_data *global_data_ptr = (struct global_data *)~0;
void arch_setup_gd(gd_t *new_gd)
{
global_data_ptr = new_gd;
}
int misc_init_r(void)
{
return 0;

View file

@ -17,6 +17,15 @@
#include <efi.h>
#include <efi_api.h>
/*
* Global declaration of gd.
*
* As we write to it before relocation we have to make sure it is not put into
* a .bss section which may overlap a .rela section. Initialization forces it
* into a .data section which cannot overlap any .rela section.
*/
struct global_data *global_data_ptr = (struct global_data *)~0;
/*
* Unfortunately we cannot access any code outside what is built especially
* for the stub. lib/string.c is already being built for the U-Boot payload