[Qemu-devel] [PATCH 30/51] ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig

Paolo Bonzini posted 51 patches 6 years, 10 months ago
Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, Alistair Francis <alistair@alistair23.me>, Peter Maydell <peter.maydell@linaro.org>, Sagar Karandikar <sagark@eecs.berkeley.edu>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Bastian Koppelmann <kbastian@mail.uni-paderborn.de>, Eduardo Habkost <ehabkost@redhat.com>, Cleber Rosa <crosa@redhat.com>, Michael Walle <michael@walle.cc>, Igor Mammedov <imammedo@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Cornelia Huck <cohuck@redhat.com>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Palmer Dabbelt <palmer@sifive.com>, Paolo Bonzini <pbonzini@redhat.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Christian Borntraeger <borntraeger@de.ibm.com>, Max Reitz <mreitz@redhat.com>, Stefan Berger <stefanb@linux.ibm.com>, Max Filippov <jcmvbkbc@gmail.com>, Jason Wang <jasowang@redhat.com>, Marek Vasut <marex@denx.de>, Stefan Hajnoczi <stefanha@redhat.com>, Corey Minyard <minyard@acm.org>, Gerd Hoffmann <kraxel@redhat.com>, John Snow <jsnow@redhat.com>, Halil Pasic <pasic@linux.ibm.com>, "Philippe Mathieu-Daudé" <philmd@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Guan Xuetao <gxt@mprc.pku.edu.cn>, "Michael S. Tsirkin" <mst@redhat.com>, Chris Wulff <crwulff@gmail.com>, Richard Henderson <rth@twiddle.net>, Aleksandar Rikalo <arikalo@wavecomp.com>, Stafford Horne <shorne@gmail.com>, Greg Kurz <groug@kaod.org>, David Gibson <david@gibson.dropbear.id.au>, Alberto Garcia <berto@igalia.com>, Aurelien Jarno <aurelien@aurel32.net>, Fam Zheng <fam@euphon.net>, Artyom Tarasenko <atar4qemu@gmail.com>, Alex Williamson <alex.williamson@redhat.com>, David Hildenbrand <david@redhat.com>, Aleksandar Markovic <amarkovic@wavecomp.com>, Anthony Green <green@moxielogic.com>
[Qemu-devel] [PATCH 30/51] ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig
Posted by Paolo Bonzini 6 years, 10 months ago
From: Thomas Huth <thuth@redhat.com>

The POWERNV switch should always select ISA_IPMI_BT, then the other
IPMI options are turned on automatically now.
CONFIG_DIMM should always be selected by the pseries machine,
which in turn depends on CONFIG_MEM_DEVICE since DIMM implements
this interface.
CONFIG_VIRTIO_VGA can be dropped from default-configs/ppc64-softmmu.mak
completely since this device is already automatically enabled via
hw/display/Kconfig now.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 default-configs/ppc64-softmmu.mak |  5 -----
 hw/intc/Kconfig                   |  6 ++----
 hw/mem/Kconfig                    |  1 +
 hw/ppc/Kconfig                    | 22 ++++++++++++++++++++--
 4 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/ppc64-softmmu.mak
index d642b67..cca5266 100644
--- a/default-configs/ppc64-softmmu.mak
+++ b/default-configs/ppc64-softmmu.mak
@@ -5,11 +5,6 @@ include ppc-softmmu.mak
 
 # For PowerNV
 CONFIG_POWERNV=y
-CONFIG_ISA_IPMI_BT=y
 
 # For pSeries
 CONFIG_PSERIES=y
-CONFIG_VIRTIO_VGA=y
-CONFIG_MEM_DEVICE=y
-CONFIG_DIMM=y
-CONFIG_SPAPR_RNG=y
diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig
index 6eea14e..de10a6b 100644
--- a/hw/intc/Kconfig
+++ b/hw/intc/Kconfig
@@ -31,13 +31,11 @@ config OPENPIC_KVM
 
 config XICS
     bool
-    default y
-    depends on PSERIES
+    depends on POWERNV || PSERIES
 
 config XICS_SPAPR
     bool
-    default y
-    depends on PSERIES
+    select XICS
 
 config XICS_KVM
     bool
diff --git a/hw/mem/Kconfig b/hw/mem/Kconfig
index d1e635c..620fd4c 100644
--- a/hw/mem/Kconfig
+++ b/hw/mem/Kconfig
@@ -1,5 +1,6 @@
 config DIMM
     bool
+    select MEM_DEVICE
 
 config MEM_DEVICE
     bool
diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index fb085d7..be6440e 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -1,11 +1,29 @@
 config PSERIES
     bool
+    imply PCI_DEVICES
+    imply TEST_DEVICES
+    select DIMM
+    select PCI
+    select VFIO
+    select XICS_SPAPR
+    select XIVE_SPAPR
+    select SPAPR_VSCSI
 
 config SPAPR_RNG
     bool
+    default y
+    depends on PSERIES
 
 config POWERNV
     bool
+    imply PCI_DEVICES
+    imply TEST_DEVICES
+    select ISA_IPMI_BT
+    select IPMI_LOCAL
+    select ISA_BUS
+    select MC146818RTC
+    select XICS
+    select XIVE
 
 config PPC405
     bool
@@ -39,10 +57,10 @@ config VIRTEX
 
 config XIVE
     bool
-    default y
-    depends on PSERIES
+    depends on POWERNV || PSERIES
 
 config XIVE_SPAPR
     bool
     default y
     depends on PSERIES
+    select XIVE
-- 
1.8.3.1



Re: [Qemu-devel] [PATCH 30/51] ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig
Posted by Paolo Bonzini 6 years, 9 months ago
On 07/02/19 18:57, Paolo Bonzini wrote:
> diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/ppc64-softmmu.mak
> index d642b67..cca5266 100644
> --- a/default-configs/ppc64-softmmu.mak
> +++ b/default-configs/ppc64-softmmu.mak
> @@ -5,11 +5,6 @@ include ppc-softmmu.mak
>  
>  # For PowerNV
>  CONFIG_POWERNV=y
> -CONFIG_ISA_IPMI_BT=y
>  
>  # For pSeries
>  CONFIG_PSERIES=y
> -CONFIG_VIRTIO_VGA=y
> -CONFIG_MEM_DEVICE=y
> -CONFIG_DIMM=y
> -CONFIG_SPAPR_RNG=y
> diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig
> index 6eea14e..de10a6b 100644
> --- a/hw/intc/Kconfig
> +++ b/hw/intc/Kconfig
> @@ -31,13 +31,11 @@ config OPENPIC_KVM
>  
>  config XICS
>      bool
> -    default y
> -    depends on PSERIES
> +    depends on POWERNV || PSERIES
>  
>  config XICS_SPAPR
>      bool
> -    default y
> -    depends on PSERIES
> +    select XICS
>  
>  config XICS_KVM
>      bool
> diff --git a/hw/mem/Kconfig b/hw/mem/Kconfig
> index d1e635c..620fd4c 100644
> --- a/hw/mem/Kconfig
> +++ b/hw/mem/Kconfig
> @@ -1,5 +1,6 @@
>  config DIMM
>      bool
> +    select MEM_DEVICE
>  
>  config MEM_DEVICE
>      bool
> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
> index fb085d7..be6440e 100644
> --- a/hw/ppc/Kconfig
> +++ b/hw/ppc/Kconfig
> @@ -1,11 +1,29 @@
>  config PSERIES
>      bool
> +    imply PCI_DEVICES
> +    imply TEST_DEVICES
> +    select DIMM
> +    select PCI
> +    select VFIO

I'm changing this to "select VFIO if LINUX" to fix non-Linux compilation.

Paolo