x86: Drop _X86EMU_env definition when CONFIG_BIOSEMU is used

With x86 we can execute an option ROM either natively or using the
x86 emulator (if enabled with CONFIG_BIOSEMU). Both of these share
the _X86EMU_env variable, with the native code using it to hold
register state during interrupt processing.

At present, in 32-bit U-Boot, the variable is declared twice, once
in common code and once in code only compiled with CONFIG_BIOSEMU.

With GCC 11 this causes a 'multiple definitions' error on boards
with CONFIG_BIOSEMU.

Drop the emulator definition when CONFIG_BIOSEMU is used.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
Bin Meng 2021-07-07 15:36:26 +08:00 committed by Tom Rini
parent cb80ff20f2
commit cfa5189811

View file

@ -23,7 +23,9 @@
static int (*int_handler[256])(void);
/* to have a common register file for interrupt handlers */
#ifndef CONFIG_BIOSEMU
X86EMU_sysEnv _X86EMU_env;
#endif
asmlinkage void (*realmode_call)(u32 addr, u32 eax, u32 ebx, u32 ecx, u32 edx,
u32 esi, u32 edi);