
On Mon, Jul 24, 2023 at 10:52 PM Simon Glass sjg@chromium.org wrote:
Call the hardware-init function from QEMU from SPL. This allows the video BIOS to operate correctly.
Create an x86-wide qemu.h header to avoid having to #ifdef the header in spl.c
Signed-off-by: Simon Glass sjg@chromium.org
arch/x86/cpu/qemu/qemu.c | 2 +- arch/x86/include/asm/qemu.h | 14 ++++++++++++++ arch/x86/lib/spl.c | 3 +++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 arch/x86/include/asm/qemu.h
diff --git a/arch/x86/cpu/qemu/qemu.c b/arch/x86/cpu/qemu/qemu.c index 274978c023b6..70414556086c 100644 --- a/arch/x86/cpu/qemu/qemu.c +++ b/arch/x86/cpu/qemu/qemu.c @@ -48,7 +48,7 @@ static void enable_pm_ich9(void) pci_write_config32(ICH9_PM, PMBA, CONFIG_ACPI_PM1_BASE | 1); }
-static void qemu_chipset_init(void) +void qemu_chipset_init(void) { u16 device, xbcs; int pam, i; diff --git a/arch/x86/include/asm/qemu.h b/arch/x86/include/asm/qemu.h new file mode 100644 index 000000000000..f1e95ffd7a4d --- /dev/null +++ b/arch/x86/include/asm/qemu.h @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/*
- Generic QEMU header
- Copyright 2023 Google LLC
- */
+#ifndef __QEMU_H +#define __QEMU_H
+/* set up the chipset for QEMU so that video can be used */ +void qemu_chipset_init(void);
+#endif diff --git a/arch/x86/lib/spl.c b/arch/x86/lib/spl.c index 55c061570864..74949b2c13cb 100644 --- a/arch/x86/lib/spl.c +++ b/arch/x86/lib/spl.c @@ -27,6 +27,7 @@ #include <asm/mtrr.h> #include <asm/pci.h> #include <asm/processor.h> +#include <asm/qemu.h> #include <asm/spl.h> #include <asm-generic/sections.h>
@@ -291,6 +292,8 @@ void spl_board_init(void) #ifndef CONFIG_TPL preloader_console_init(); #endif
if (IS_ENABLED(CONFIG_X86) && IS_ENABLED(CONFIG_QEMU))
CONFIG_X86 is not necessary.
qemu_chipset_init(); if (CONFIG_IS_ENABLED(VIDEO)) { struct udevice *dev;
--
Otherwise, Reviewed-by: Bin Meng bmeng.cn@gmail.com