qemu/hw/i386
Eric Auger eb013cd6a1 hw/i386/microvm: Explicitly select ACPI_PCI
With a microvm-only build based on a custom device config,
we get a link failure due to undefined reference to
build_pci_host_bridge_osc_method() which is defined in hw/acpi/pci.c and
whose compilation depends on CONFIG_ACPI_PCI. Although CONFIG_ACPI
and CONFIG_PCI are set with such configuration, implied CONFIG_ACPI_PCI
in config PCI_EXPRESS_GENERIC_BRIDGE is not selected as expected.

It Looks like CONFIG_ACPI_PCI must be enforced and this patch selects
CONFIG_ACPI_PCI in MICROVM config directly as done for PC config.

Reproducer:

../configure \
 --without-default-features \
 --target-list=x86_64-softmmu \
 --enable-kvm --disable-tcg \
 --enable-pixman \
 --enable-vnc \
 --audio-drv-list="" \
 --without-default-devices \
 --with-devices-x86_64=microvm \
 --enable-vhost-user

with configs/devices/x86_64-softmmu/microvm.mak:
CONFIG_PCI_DEVICES=n

CONFIG_MICROVM=y

CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_SERIAL=y
CONFIG_VIRTIO_INPUT=y
CONFIG_VIRTIO_INPUT_HOST=y
CONFIG_VHOST_USER_INPUT=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_SCSI=y
CONFIG_VIRTIO_RNG=y
CONFIG_VIRTIO_CRYPTO=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_GPU=y
CONFIG_VHOST_USER_GPU=y

FAILED: qemu-system-x86_64
cc -m64 @qemu-system-x86_64.rsp
/usr/bin/ld: libsystem.a.p/hw_pci-host_gpex-acpi.c.o: in function `acpi_dsdt_add_host_bridge_methods':
hw/pci-host/gpex-acpi.c:83:(.text+0x274): undefined reference to `build_pci_host_bridge_osc_method'
collect2: error: ld returned 1 exit status

Fixes: af151d50ea "hw/pci-host/gpex-acpi: Use build_pci_host_bridge_osc_method"
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reported-by: Michael Tokarev <mjt@tls.msk.ru>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Message-ID: <20250804152008.247673-1-eric.auger@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
2025-08-05 17:30:45 +02:00
..
kvm * target/i386/kvm: Intel TDX support 2025-05-30 11:41:07 -04:00
xen qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
acpi-build.c hw/i386/acpi-build: Move aml_pci_edsm to a generic place 2025-07-15 02:56:40 -04:00
acpi-build.h hw/acpi: Rename and move build_x86_acpi_pci_hotplug to pcihp 2025-07-15 02:56:40 -04:00
acpi-common.c include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
acpi-common.h hw/i386/acpi: Declare pc_madt_cpu_entry() in 'acpi-common.h' 2024-02-20 20:34:21 +03:00
acpi-microvm.c include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
acpi-microvm.h microvm/acpi: add minimal acpi support 2020-09-17 14:16:19 +02:00
amd_iommu-stub.c amd_iommu: report x2APIC support to the operating system 2024-02-14 06:09:32 -05:00
amd_iommu.c hw/i386/amd_iommu: Fix event log generation 2025-08-01 10:23:50 -04:00
amd_iommu.h hw/i386/amd_iommu: Fix event log generation 2025-08-01 10:23:50 -04:00
e820_memory_layout.c hw/i386/fw_cfg: Add etc/e820 to fw_cfg late 2024-07-03 18:14:06 -04:00
e820_memory_layout.h hw/i386/fw_cfg: Add etc/e820 to fw_cfg late 2024-07-03 18:14:06 -04:00
fw_cfg.c rust: Kconfig: Factor out whether HPET is Rust or C 2025-03-20 09:23:24 +01:00
fw_cfg.h hw/i386/fw_cfg: Add etc/e820 to fw_cfg late 2024-07-03 18:14:06 -04:00
intel_iommu_internal.h intel_iommu: Declare supported PASID size 2025-07-15 02:56:39 -04:00
intel_iommu.c intel_iommu: Allow both Status Write and Interrupt Flag in QI wait 2025-08-01 10:23:50 -04:00
Kconfig hw/i386/microvm: Explicitly select ACPI_PCI 2025-08-05 17:30:45 +02:00
meson.build i386/tdx: Setup the TD HOB list 2025-05-28 19:35:54 +02:00
microvm-dt.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
microvm-dt.h microvm: add device tree support. 2021-11-02 17:24:17 +01:00
microvm.c hw/i386: Fix 'use-legacy-x86-rom' property compatibility 2025-07-28 17:52:34 +02:00
monitor.c qapi: expose rtc-reset-reinjection command unconditionally 2025-05-28 18:26:23 +02:00
multiboot.c exec/cpu-all: remove exec/target_page include 2025-04-23 15:04:57 -07:00
multiboot.h target/i386: use DMA-enabled multiboot ROM for new-enough QEMU machine types 2021-11-02 15:57:27 +01:00
nitro_enclave.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
pc_piix.c hw/i386: Fix 'use-legacy-x86-rom' property compatibility 2025-07-28 17:52:34 +02:00
pc_q35.c hw/i386: Fix 'use-legacy-x86-rom' property compatibility 2025-07-28 17:52:34 +02:00
pc_sysfw_ovmf-stubs.c hw/i386: Introduce X86_FW_OVMF Kconfig symbol 2021-07-14 22:28:58 +02:00
pc_sysfw_ovmf.c exec/cpu-all: remove exec/target_page include 2025-04-23 15:04:57 -07:00
pc_sysfw.c i386/pc_sysfw: Ensure sysfw flash configuration does not conflict with IGVM 2025-07-12 15:28:21 +02:00
pc.c * rust: miscellaneous fixes 2025-07-14 09:36:57 -04:00
port92.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
sgx-epc.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
sgx-stub.c qapi: make SGX commands unconditionally available 2025-05-28 18:54:18 +02:00
sgx.c qapi: make SGX commands unconditionally available 2025-05-28 18:54:18 +02:00
tdvf-hob.c i386/tdx: Setup the TD HOB list 2025-05-28 19:35:54 +02:00
tdvf-hob.h i386/tdx: Setup the TD HOB list 2025-05-28 19:35:54 +02:00
tdvf.c i386/tdvf: Fix build on 32-bit host 2025-06-03 22:42:46 +02:00
trace-events hw/i386/intel-iommu: Migrate to 3-phase reset 2025-02-21 07:21:25 -05:00
trace.h
vapic.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vmmouse.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vmport.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
x86-common.c i386/tdx: load TDVF for TD guest 2025-05-28 19:01:41 +02:00
x86-cpu.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
x86-iommu-stub.c hw/i386/pc: Remove x86_iommu_get_type() 2021-11-01 18:49:10 -04:00
x86-iommu.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
x86.c hw/i386/x86: Remove X86MachineClass::save_tsc_khz field 2025-05-30 09:52:08 +02:00