On Mon, Jul 28, 2025 at 04:56:37PM +0200, Eric Auger wrote: > Hi Michael, > > On 7/28/25 11:07 AM, Michael Tokarev wrote: > > On 27.07.2025 14:48, Michael Tokarev wrote: > >> On 14.07.2025 11:04, Eric Auger wrote: > >>> gpex build_host_bridge_osc() and x86 originated > >>> build_pci_host_bridge_osc_method() are mostly identical. > >>> > >>> In GPEX, SUPP is set to CDW2 but is not further used. CTRL is > >>> same as Local0. > >>> > >>> So let gpex code reuse build_pci_host_bridge_osc_method() and remove > >>> build_host_bridge_osc(). > >>> > >>> Also add an imply ACPI_PCI clause along with > >>> PCI_EXPRESS_GENERIC_BRIDGE to compile hw/acpi/pci.c when its > >>> dependency is resolved (ie. CONFIG_ACPI_PCI). This is requested > >>> to link qemu-system-mips64el. > >> > >> This patch somehow broke microvm-only build which is used by debian. > >> > >> configure options used (trimmed a bit): > >> > >> ../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 > >> > >> configs/devices/x86_64-softmmu/microvm.mak: ---- cut ---- # see > >> configs/devices/i386-softmmu/default.mak # for additional devices > >> which can be disabled # 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 ---- cut ---- > >> > >> The result: 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 > > > > In hw/i386/Kconfig, MICROVM selects ACPI_HW_REDUCED (not ACPI or > > ACPI_PCI), *and* PCI_EXPRESS_GENERIC_BRIDGE. But in hw/pci/meson.build, > > pci.c (where the function in question is defined) is built when > > ACPI_PCI is enabled. Something's not right here. > This commit added an imply ACPI_PCI to the PCI_EXPRESS_GENERIC_BRIDGE > config in hw/pci-host/Kconfig: > > config PCI_EXPRESS_GENERIC_BRIDGE > bool > select PCI_EXPRESS -> selects PCI > imply ACPI_PCI > > In hw/acpi/Kconfig we have: > > config ACPI_PCI > bool > depends on ACPI && PCI > > ACPI is selected by ACPI_HW_REDUCED > > config ACPI_HW_REDUCED > bool > select ACPI > select ACPI_MEMORY_HOTPLUG > select ACPI_NVDIMM > > so logically the ACPI && PCI dependencies for ACPI_PCI should be > resolved. What do I miss? > regards > > Eric >
Not sure I get what are you proposing? > > > > > > > > > > > Addig kraxel for 24db877ab6e6 "microvm: add pcie support". > > > > Thanks > > > > /mjt > >
