On Mon, Jul 24, 2023 at 10:52 PM Simon Glass <s...@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 <s...@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...@gmail.com>