On 12/24/20 3:42 PM, Paolo Bonzini wrote: > Why? It's all KVM. I find it not obvious to figure out by simply looking at this diff. I'm probably too tired. Anyway Cédric already reviewed it.
> > Paolo > > Il gio 24 dic 2020, 11:58 Philippe Mathieu-Daudé <f4...@amsat.org > <mailto:f4...@amsat.org>> ha scritto: > > On 12/23/20 8:26 PM, Greg Kurz wrote: > > Linking of the qemu-system-ppc64 fails on a POWER9 host when > > --without-default-devices is passed to configure: > > > > $ ./configure --without-default-devices \ > > --target-list=ppc64-softmmu && make > > > > ... > > > > libqemu-ppc64-softmmu.fa.p/hw_ppc_e500.c.o: In function > `ppce500_init_mpic_kvm': > > /home/greg/Work/qemu/qemu-ppc/build/../hw/ppc/e500.c:777: > undefined reference to `kvm_openpic_connect_vcpu' > > libqemu-ppc64-softmmu.fa.p/hw_ppc_spapr_irq.c.o: In function > `spapr_irq_check': > > /home/greg/Work/qemu/qemu-ppc/build/../hw/ppc/spapr_irq.c:189: > undefined reference to `xics_kvm_has_broken_disconnect' > > libqemu-ppc64-softmmu.fa.p/hw_intc_spapr_xive.c.o: In function > `spapr_xive_post_load': > > /home/greg/Work/qemu/qemu-ppc/build/../hw/intc/spapr_xive.c:530: > undefined reference to `kvmppc_xive_post_load' > > > > ... and tons of other symbols belonging to the KVM backend of the > > openpic, XICS and XIVE interrupt controllers. > > > > It turns out that OPENPIC_KVM, XICS_KVM and XIVE_KVM are marked > > to depend on KVM but this has no effect when minikconf runs in > > allnoconfig mode. Such reverse dependencies should rather be > > handled with a 'select' statement, eg. > > > > config OPENPIC > > select OPENPIC_KVM if KVM > > > > or even better by getting rid of the intermediate _KVM config > > and directly checking CONFIG_KVM in the meson.build file: > > > > specific_ss.add(when: ['CONFIG_KVM', 'CONFIG_OPENPIC'], > > if_true: files('openpic_kvm.c')) > > > > Go for the latter with OPENPIC, XICS and XIVE. While here also move > > XIVE_SPAPR to hw/intc/Kconfig where it belongs. > > > > This went unnoticed so far because CI doesn't test the build with > > --without-default-devices and KVM enabled on a POWER host. > > > > Signed-off-by: Greg Kurz <gr...@kaod.org <mailto:gr...@kaod.org>> > > --- > > v2: - check CONFIG_KVM in the meson.build as suggested by Paolo > > --- > > hw/intc/Kconfig | 14 +++++--------- > > hw/intc/meson.build | 9 ++++++--- > > hw/ppc/Kconfig | 15 --------------- > > 3 files changed, 11 insertions(+), 27 deletions(-)