mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-09-20 22:52:00 +00:00
x86: Allow video-BIOS code to be built for SPL
With qemu-x86_64 we need to run the video BIOS while in 32-bit mode, i.e. SPL. Add a Kconfig option for this, adjust the Makefile rules and use CONFIG_IS_ENABLED() where needed. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
d424553675
commit
5345700d2a
3 changed files with 18 additions and 17 deletions
|
@ -4,16 +4,17 @@
|
|||
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
|
||||
obj-y += bdinfo.o
|
||||
ifndef CONFIG_X86_64
|
||||
ifndef CONFIG_TPL_BUILD
|
||||
|
||||
ifndef CONFIG_$(SPL_TPL_)X86_64
|
||||
obj-y += bios.o
|
||||
obj-y += bios_asm.o
|
||||
obj-y += bios_interrupts.o
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef CONFIG_SPL_BUILD
|
||||
obj-$(CONFIG_X86_32BIT_INIT) += string.o
|
||||
endif
|
||||
|
||||
ifndef CONFIG_SPL_BUILD
|
||||
obj-$(CONFIG_CMD_BOOTM) += bootm.o
|
||||
endif
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
static int (*int_handler[256])(void);
|
||||
|
||||
/* to have a common register file for interrupt handlers */
|
||||
#ifndef CONFIG_BIOSEMU
|
||||
#if !CONFIG_IS_ENABLED(BIOSEMU)
|
||||
X86EMU_sysEnv _X86EMU_env;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -298,20 +298,20 @@ int dm_pci_run_vga_bios(struct udevice *dev, int (*int15_handler)(void),
|
|||
}
|
||||
|
||||
if (emulate) {
|
||||
#ifdef CONFIG_BIOSEMU
|
||||
BE_VGAInfo *info;
|
||||
if (CONFIG_IS_ENABLED(BIOSEMU)) {
|
||||
BE_VGAInfo *info;
|
||||
|
||||
log_debug("Running video BIOS with emulator...");
|
||||
ret = biosemu_setup(dev, &info);
|
||||
if (ret)
|
||||
goto err;
|
||||
biosemu_set_interrupt_handler(0x15, int15_handler);
|
||||
ret = biosemu_run(dev, (uchar *)ram, 1 << 16, info,
|
||||
true, vesa_mode, &mode_info);
|
||||
log_debug("done\n");
|
||||
if (ret)
|
||||
goto err;
|
||||
#endif
|
||||
log_debug("Running video BIOS with emulator...");
|
||||
ret = biosemu_setup(dev, &info);
|
||||
if (ret)
|
||||
goto err;
|
||||
biosemu_set_interrupt_handler(0x15, int15_handler);
|
||||
ret = biosemu_run(dev, (uchar *)ram, 1 << 16, info,
|
||||
true, vesa_mode, &mode_info);
|
||||
log_debug("done\n");
|
||||
if (ret)
|
||||
goto err;
|
||||
}
|
||||
} else {
|
||||
#if defined(CONFIG_X86) && (CONFIG_IS_ENABLED(X86_32BIT_INIT) || CONFIG_TPL)
|
||||
log_debug("Running video BIOS...");
|
||||
|
|
Loading…
Reference in a new issue