diff options
| author | Bin Meng <[email protected]> | 2021-07-07 15:36:26 +0800 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2021-07-07 10:17:54 -0400 |
| commit | cfa5189811e29e4a24ed41a814e2feb41e79b52e (patch) | |
| tree | 966ea0e8e42138528ca9595b4b4de4de42b54ef4 | |
| parent | cb80ff20f2c8392f19248418f9a19a0474661860 (diff) | |
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 <[email protected]>
| -rw-r--r-- | arch/x86/lib/bios.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/lib/bios.c b/arch/x86/lib/bios.c index fbdc3b04e36..98cc05de2eb 100644 --- a/arch/x86/lib/bios.c +++ b/arch/x86/lib/bios.c @@ -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); |
