[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(-)