mirror of
https://github.com/qemu/qemu.git
synced 2025-08-18 18:15:22 +00:00

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>
173 lines
3.0 KiB
Plaintext
173 lines
3.0 KiB
Plaintext
config X86_FW_OVMF
|
|
bool
|
|
|
|
config SEV
|
|
bool
|
|
select X86_FW_OVMF
|
|
depends on KVM && X86_64
|
|
|
|
config SGX
|
|
bool
|
|
depends on KVM
|
|
|
|
config TDX
|
|
bool
|
|
select X86_FW_OVMF
|
|
depends on KVM && X86_64
|
|
|
|
config PC
|
|
bool
|
|
imply APPLESMC
|
|
imply HYPERV
|
|
imply ISA_IPMI_KCS
|
|
imply ISA_IPMI_BT
|
|
imply PCI_IPMI_KCS
|
|
imply PCI_IPMI_BT
|
|
imply IPMI_SSIF
|
|
imply ISA_DEBUG
|
|
imply PARALLEL
|
|
imply PCI_DEVICES
|
|
imply PVPANIC_ISA
|
|
imply QXL
|
|
imply SEV
|
|
imply SGX
|
|
imply TDX
|
|
imply TEST_DEVICES
|
|
imply TPM_CRB
|
|
imply TPM_TIS_ISA
|
|
imply VGA_PCI
|
|
imply VIRTIO_VGA
|
|
imply NVDIMM
|
|
imply FDC_ISA
|
|
select I8259
|
|
select I8254
|
|
select PCKBD
|
|
select PCSPK
|
|
select I8257
|
|
select MC146818RTC
|
|
# For ACPI builder:
|
|
select SERIAL_ISA
|
|
select ACPI_PCI
|
|
select ACPI_VMGENID
|
|
select ACPI_VMCLOCK
|
|
select VIRTIO_PMEM_SUPPORTED
|
|
select VIRTIO_MEM_SUPPORTED
|
|
select HV_BALLOON_SUPPORTED
|
|
|
|
config PC_PCI
|
|
bool
|
|
select APIC
|
|
select IOAPIC
|
|
select PC
|
|
|
|
config PC_ACPI
|
|
bool
|
|
select ACPI_X86
|
|
select ACPI_CPU_HOTPLUG
|
|
select ACPI_MEMORY_HOTPLUG
|
|
select ACPI_PCI_BRIDGE
|
|
select ACPI_VIOT
|
|
select SMBUS_EEPROM
|
|
select PFLASH_CFI01
|
|
depends on ACPI_SMBUS
|
|
|
|
config I440FX
|
|
bool
|
|
default y
|
|
depends on I386
|
|
imply E1000_PCI
|
|
imply VMPORT
|
|
imply VMMOUSE
|
|
select ACPI_PIIX4
|
|
select PC_PCI
|
|
select PC_ACPI
|
|
select PCI_I440FX
|
|
select PIIX
|
|
select DIMM
|
|
select SMBIOS
|
|
select SMBIOS_LEGACY
|
|
select FW_CFG_DMA
|
|
|
|
config ISAPC
|
|
bool
|
|
default y
|
|
depends on I386
|
|
imply VGA_ISA
|
|
select ISA_BUS
|
|
select PC
|
|
select IDE_ISA
|
|
# FIXME: it is in the same file as i440fx, and does not compile
|
|
# if separated
|
|
depends on I440FX
|
|
|
|
config Q35
|
|
bool
|
|
default y
|
|
depends on I386
|
|
imply VTD
|
|
imply AMD_IOMMU
|
|
imply E1000E_PCI_EXPRESS
|
|
imply VMPORT
|
|
imply VMMOUSE
|
|
imply IOMMUFD
|
|
select PC_PCI
|
|
select PC_ACPI
|
|
select PCI_EXPRESS_Q35
|
|
select LPC_ICH9
|
|
select AHCI_ICH9
|
|
select DIMM
|
|
select SMBIOS
|
|
select FW_CFG_DMA
|
|
|
|
config MICROVM
|
|
bool
|
|
default y
|
|
depends on I386 && FDT
|
|
select DEVICE_TREE
|
|
select SERIAL_ISA # for serial_hds_isa_init()
|
|
select ISA_BUS
|
|
select APIC
|
|
select IOAPIC
|
|
select I8259
|
|
select MC146818RTC
|
|
select VIRTIO_MMIO
|
|
select ACPI_PCI
|
|
select ACPI_HW_REDUCED
|
|
select PCI_EXPRESS_GENERIC_BRIDGE
|
|
select USB_XHCI_SYSBUS
|
|
select I8254
|
|
|
|
config NITRO_ENCLAVE
|
|
default y
|
|
depends on I386 && FDT # for MICROVM
|
|
depends on LIBCBOR && GNUTLS # for EIF and VIRTIO_NSM
|
|
depends on VHOST_USER # for VHOST_USER_VSOCK
|
|
select EIF
|
|
select MICROVM
|
|
select VHOST_USER_VSOCK
|
|
select VIRTIO_NSM
|
|
|
|
config X86_IOMMU
|
|
bool
|
|
depends on PC
|
|
|
|
config VTD
|
|
bool
|
|
select X86_IOMMU
|
|
|
|
config AMD_IOMMU
|
|
bool
|
|
select X86_IOMMU
|
|
|
|
config VMPORT
|
|
bool
|
|
|
|
config VMMOUSE
|
|
bool
|
|
depends on VMPORT
|
|
|
|
config XEN_EMU
|
|
bool
|
|
default y
|
|
depends on KVM && I386
|