Philippe Mathieu-Daudé <phi...@linaro.org> writes: > 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' > > IIRC QEMU isn't yet ready to be built with --without-default-devices > but without any machine, you need to explicit at least one. For > example you can use --with-devices-aarch64=minimal, or define a > config with only the Virt machine.
Could we detect this kind of breakage somehow and report it properly to the user? As in "you chose an impossible configuration, select a board and try again". I see this comes from kvm.c, perhaps on arm CONFIG_KVM needs to depend on VIRT? > > Regards, > > Phil.