Paolo Bonzini <pbonz...@redhat.com> writes: > Il mar 23 apr 2024, 20:12 Philippe Mathieu-Daudé <phi...@linaro.org> ha > scritto: > >> Hi Fabiano, >> >> On 23/4/24 20:02, Fabiano Rosas wrote: >> > Paolo Bonzini <pbonz...@redhat.com> writes: >> > >> >> For ARM targets, boards that require TCG are already using "default y". >> >> Switch ARM_VIRT to the same selection mechanism. >> >> >> >> No changes to generated config-devices.mak file. >> >> >> >> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> >> >> --- >> >> configs/devices/arm-softmmu/default.mak | 3 ++- >> >> hw/arm/Kconfig | 2 ++ >> >> 2 files changed, 4 insertions(+), 1 deletion(-) >> >> >> >> diff --git a/configs/devices/arm-softmmu/default.mak >> b/configs/devices/arm-softmmu/default.mak >> >> index c1cfb3bcf75..31f77c20269 100644 >> >> --- a/configs/devices/arm-softmmu/default.mak >> >> +++ b/configs/devices/arm-softmmu/default.mak >> >> @@ -5,7 +5,8 @@ >> >> # CONFIG_PCI_DEVICES=n >> >> # CONFIG_TEST_DEVICES=n >> >> >> >> -CONFIG_ARM_VIRT=y >> >> +# Boards are selected by default, uncomment to keep out of the build. >> >> +# CONFIG_ARM_VIRT=n >> >> >> >> # These are selected by default when TCG is enabled, uncomment them to >> >> # keep out of the build. >> >> diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig >> >> index 893a7bff66b..1e7cd01087f 100644 >> >> --- a/hw/arm/Kconfig >> >> +++ b/hw/arm/Kconfig >> >> @@ -1,5 +1,7 @@ >> >> config ARM_VIRT >> >> bool >> >> + default y >> >> + depends on ARM >> >> imply PCI_DEVICES >> > >> > We lose pci.c when building --without-default-devices: >> > >> > $ arch >> > aarch64 >> > $ ../configure --target-list=aarch64-softmmu,arm-softmmu >> > --disable-linux-user --without-default-devices >> > $ make >> > ... >> > libqemu-aarch64-softmmu.fa.p/target_arm_kvm.c.o: in function >> `kvm_arch_fixup_msi_route': >> > ../target/arm/kvm.c:1548: undefined reference to >> `pci_device_iommu_address_space' >> > > I guess we can add something like > > config AARCH64 > select PCI if KVM
Yep, that fixes the build. With defaults disabled the tests are all kinds of broken, but I guess that's expected. I see issues even in master. With the above included: Tested-by: Fabiano Rosas <faro...@suse.de> # build-only on aarch64