All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ppc: Fix build with --without-default-devices
@ 2020-12-23  8:10 Greg Kurz
  2020-12-23  8:55 ` Paolo Bonzini
  0 siblings, 1 reply; 3+ messages in thread
From: Greg Kurz @ 2020-12-23  8:10 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, qemu-ppc, Cédric Le Goater, David Gibson

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. The correct way to express that some configuration
A requires some other configuration B to be true is "A select B".

Have OPENPIC, XICS and XIVE to select their KVM counterpart if KVM
is set. While here, fix POWERNV to select XIVE and XICS, just like
PSERIES, and drop the now useless XIVE related config clauses from
hw/ppc/Kconfig.

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>
---
 hw/intc/Kconfig |   18 +++++++++++++-----
 hw/ppc/Kconfig  |   17 ++---------------
 2 files changed, 15 insertions(+), 20 deletions(-)

diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig
index 468d548ca771..0a5c080c4f5c 100644
--- a/hw/intc/Kconfig
+++ b/hw/intc/Kconfig
@@ -19,6 +19,7 @@ config ARM_GIC
 config OPENPIC
     bool
     select MSI_NONBROKEN
+    select OPENPIC_KVM if KVM
 
 config APIC
     bool
@@ -32,21 +33,28 @@ config ARM_GIC_KVM
 
 config OPENPIC_KVM
     bool
-    default y
-    depends on OPENPIC && KVM
 
 config XICS
     bool
-    depends on POWERNV || PSERIES
+    select XICS_KVM if KVM
 
 config XICS_SPAPR
     bool
     select XICS
 
+config XIVE
+    bool
+    select XIVE_KVM if KVM
+
+config XIVE_SPAPR
+    bool
+    select XIVE
+
 config XICS_KVM
     bool
-    default y
-    depends on XICS && KVM
+
+config XIVE_KVM
+    bool
 
 config ALLWINNER_A10_PIC
     bool
diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index 982d55f5875c..037d9332e994 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -31,6 +31,8 @@ config POWERNV
     select FDT_PPC
     select PCI_EXPRESS
     select MSI_NONBROKEN
+    select XIVE
+    select XICS
 
 config PPC405
     bool
@@ -129,21 +131,6 @@ config VIRTEX
     select XILINX_ETHLITE
     select FDT_PPC
 
-config XIVE
-    bool
-    depends on POWERNV || PSERIES
-
-config XIVE_SPAPR
-    bool
-    default y
-    depends on PSERIES
-    select XIVE
-
-config XIVE_KVM
-    bool
-    default y
-    depends on XIVE_SPAPR && KVM
-
 # Only used by 64-bit targets
 config FW_CFG_PPC
     bool




^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-12-23 11:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-23  8:10 [PATCH] ppc: Fix build with --without-default-devices Greg Kurz
2020-12-23  8:55 ` Paolo Bonzini
2020-12-23 11:54   ` Greg Kurz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.