diff --git a/src/drivers/emulation/qemu/Kconfig b/src/drivers/emulation/qemu/Kconfig index 5b01ae785b..cab06948f2 100644 --- a/src/drivers/emulation/qemu/Kconfig +++ b/src/drivers/emulation/qemu/Kconfig @@ -35,3 +35,9 @@ config DRIVERS_EMULATION_QEMU_YRES default 600 depends on LINEAR_FRAMEBUFFER depends on DRIVERS_EMULATION_QEMU_BOCHS || DRIVERS_EMULATION_QEMU_CIRRUS + +config DRIVERS_EMULATION_QEMU_FW_CFG + bool "qemu fw_cfg" + default n + help + qemu fw_cfg driver diff --git a/src/drivers/emulation/qemu/Makefile.mk b/src/drivers/emulation/qemu/Makefile.mk index 619782fb1e..76bd864b0a 100644 --- a/src/drivers/emulation/qemu/Makefile.mk +++ b/src/drivers/emulation/qemu/Makefile.mk @@ -7,3 +7,9 @@ ramstage-$(CONFIG_CONSOLE_QEMU_DEBUGCON) += qemu_debugcon.c ramstage-$(CONFIG_DRIVERS_EMULATION_QEMU_BOCHS) += bochs.c ramstage-$(CONFIG_DRIVERS_EMULATION_QEMU_CIRRUS) += cirrus.c + +bootblock-$(CONFIG_DRIVERS_EMULATION_QEMU_FW_CFG) += fw_cfg.c +romstage-$(CONFIG_DRIVERS_EMULATION_QEMU_FW_CFG) += fw_cfg.c +verstage-$(CONFIG_DRIVERS_EMULATION_QEMU_FW_CFG) += fw_cfg.c +postcar-$(CONFIG_DRIVERS_EMULATION_QEMU_FW_CFG) += fw_cfg.c +ramstage-$(CONFIG_DRIVERS_EMULATION_QEMU_FW_CFG) += fw_cfg.c diff --git a/src/mainboard/emulation/qemu-i440fx/fw_cfg.c b/src/drivers/emulation/qemu/fw_cfg.c similarity index 99% rename from src/mainboard/emulation/qemu-i440fx/fw_cfg.c rename to src/drivers/emulation/qemu/fw_cfg.c index ad664a6ee0..3725419e7b 100644 --- a/src/mainboard/emulation/qemu-i440fx/fw_cfg.c +++ b/src/drivers/emulation/qemu/fw_cfg.c @@ -8,9 +8,8 @@ #include #include #include - -#include "fw_cfg.h" -#include "fw_cfg_if.h" +#include +#include #define FW_CFG_PORT_CTL 0x0510 #define FW_CFG_PORT_DATA 0x0511 diff --git a/src/mainboard/emulation/qemu-i440fx/fw_cfg.h b/src/include/device/fw_cfg.h similarity index 100% rename from src/mainboard/emulation/qemu-i440fx/fw_cfg.h rename to src/include/device/fw_cfg.h diff --git a/src/mainboard/emulation/qemu-i440fx/fw_cfg_if.h b/src/include/device/fw_cfg_if.h similarity index 100% rename from src/mainboard/emulation/qemu-i440fx/fw_cfg_if.h rename to src/include/device/fw_cfg_if.h diff --git a/src/mainboard/emulation/qemu-i440fx/Kconfig b/src/mainboard/emulation/qemu-i440fx/Kconfig index 6d6181c5bb..e17e25dbf5 100644 --- a/src/mainboard/emulation/qemu-i440fx/Kconfig +++ b/src/mainboard/emulation/qemu-i440fx/Kconfig @@ -20,6 +20,7 @@ config BOARD_SPECIFIC_OPTIONS select BOOT_DEVICE_NOT_SPI_FLASH select BOOT_DEVICE_MEMORY_MAPPED select BOOT_DEVICE_SUPPORTS_WRITES + select DRIVERS_EMULATION_QEMU_FW_CFG config VBOOT select VBOOT_MUST_REQUEST_DISPLAY diff --git a/src/mainboard/emulation/qemu-i440fx/Makefile.mk b/src/mainboard/emulation/qemu-i440fx/Makefile.mk index 6ff2f73f11..c20f427474 100644 --- a/src/mainboard/emulation/qemu-i440fx/Makefile.mk +++ b/src/mainboard/emulation/qemu-i440fx/Makefile.mk @@ -9,5 +9,4 @@ ramstage-y += memmap.c ramstage-y += northbridge.c ramstage-y += rom_media.c -all-y += fw_cfg.c all-y += bootmode.c diff --git a/src/mainboard/emulation/qemu-i440fx/bootmode.c b/src/mainboard/emulation/qemu-i440fx/bootmode.c index 12990b2552..ce064788a6 100644 --- a/src/mainboard/emulation/qemu-i440fx/bootmode.c +++ b/src/mainboard/emulation/qemu-i440fx/bootmode.c @@ -2,7 +2,7 @@ #include #include -#include "fw_cfg.h" +#include /* * Enable recovery mode with fw_cfg option to qemu: diff --git a/src/mainboard/emulation/qemu-i440fx/memmap.c b/src/mainboard/emulation/qemu-i440fx/memmap.c index be730b7516..a8033f21fd 100644 --- a/src/mainboard/emulation/qemu-i440fx/memmap.c +++ b/src/mainboard/emulation/qemu-i440fx/memmap.c @@ -5,8 +5,8 @@ #include #include #include +#include #include "memory.h" -#include "fw_cfg.h" #define CMOS_ADDR_PORT 0x70 #define CMOS_DATA_PORT 0x71 diff --git a/src/mainboard/emulation/qemu-i440fx/northbridge.c b/src/mainboard/emulation/qemu-i440fx/northbridge.c index 609e389899..5c8636c8f0 100644 --- a/src/mainboard/emulation/qemu-i440fx/northbridge.c +++ b/src/mainboard/emulation/qemu-i440fx/northbridge.c @@ -9,15 +9,14 @@ #include #include #include +#include +#include #include #include #include #include #include "memory.h" -#include "fw_cfg.h" -#include "fw_cfg_if.h" - #include "acpi.h" static void qemu_reserve_ports(struct device *dev, unsigned int idx, diff --git a/src/mainboard/emulation/qemu-q35/Kconfig b/src/mainboard/emulation/qemu-q35/Kconfig index 70a7437fc8..854c0533c3 100644 --- a/src/mainboard/emulation/qemu-q35/Kconfig +++ b/src/mainboard/emulation/qemu-q35/Kconfig @@ -18,6 +18,7 @@ config BOARD_SPECIFIC_OPTIONS select BOOT_DEVICE_NOT_SPI_FLASH select BOOT_DEVICE_MEMORY_MAPPED select BOOT_DEVICE_SUPPORTS_WRITES + select DRIVERS_EMULATION_QEMU_FW_CFG config VBOOT select VBOOT_MUST_REQUEST_DISPLAY diff --git a/src/mainboard/emulation/qemu-q35/Makefile.mk b/src/mainboard/emulation/qemu-q35/Makefile.mk index c1619f5ede..fc85e642b8 100644 --- a/src/mainboard/emulation/qemu-q35/Makefile.mk +++ b/src/mainboard/emulation/qemu-q35/Makefile.mk @@ -16,7 +16,6 @@ ramstage-y += ../qemu-i440fx/rom_media.c ramstage-y += memmap.c ramstage-y += cpu.c -all-y += ../qemu-i440fx/fw_cfg.c all-y += ../qemu-i440fx/bootmode.c ramstage-$(CONFIG_CHROMEOS) += chromeos.c diff --git a/src/mainboard/emulation/qemu-q35/acpi_tables.c b/src/mainboard/emulation/qemu-q35/acpi_tables.c index e85ce659f6..c1c483da88 100644 --- a/src/mainboard/emulation/qemu-q35/acpi_tables.c +++ b/src/mainboard/emulation/qemu-q35/acpi_tables.c @@ -1,8 +1,8 @@ /* SPDX-License-Identifier: GPL-2.0-only */ #include +#include -#include "../qemu-i440fx/fw_cfg.h" #include "../qemu-i440fx/acpi.h" void mainboard_fill_fadt(acpi_fadt_t *fadt) diff --git a/src/mainboard/emulation/qemu-q35/cpu.c b/src/mainboard/emulation/qemu-q35/cpu.c index c57ec500fe..c30c833a50 100644 --- a/src/mainboard/emulation/qemu-q35/cpu.c +++ b/src/mainboard/emulation/qemu-q35/cpu.c @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include diff --git a/src/mainboard/emulation/qemu-q35/memmap.c b/src/mainboard/emulation/qemu-q35/memmap.c index d57b25c2e3..3e8da5ca08 100644 --- a/src/mainboard/emulation/qemu-q35/memmap.c +++ b/src/mainboard/emulation/qemu-q35/memmap.c @@ -5,9 +5,9 @@ #include #include #include +#include #include #include -#include #include #include "q35.h"