Skip to content

Commit

Permalink
x86: Drop _X86EMU_env definition when CONFIG_BIOSEMU is used
Browse files Browse the repository at this point in the history
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]>
  • Loading branch information
lbmeng authored and trini committed Jul 7, 2021
1 parent cb80ff2 commit cfa5189
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions arch/x86/lib/bios.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit cfa5189

Please sign in to comment.