qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 1/2] ppc: Fix build with --without-default-devices


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH v2 1/2] ppc: Fix build with --without-default-devices
Date: Thu, 24 Dec 2020 16:37:02 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.0

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é <f4bug@amsat.org
> <mailto:f4bug@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 <groug@kaod.org <mailto:groug@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(-)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]