[Qemu-devel] [PATCH v2 1/5] ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig

Thomas Huth posted 5 patches 7 years ago
[Qemu-devel] [PATCH v2 1/5] ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig
Posted by Thomas Huth 7 years ago
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>
---
 default-configs/ppc64-softmmu.mak |  8 --------
 hw/intc/Kconfig                   |  6 ++----
 hw/mem/Kconfig                    |  1 +
 hw/ppc/Kconfig                    | 18 ++++++++++++++----
 4 files changed, 17 insertions(+), 16 deletions(-)

diff --git a/default-configs/ppc64-softmmu.mak b/default-configs/ppc64-softmmu.mak
index a0a9151..cca5266 100644
--- a/default-configs/ppc64-softmmu.mak
+++ b/default-configs/ppc64-softmmu.mak
@@ -5,14 +5,6 @@ include ppc-softmmu.mak
 
 # For PowerNV
 CONFIG_POWERNV=y
-CONFIG_IPMI=y
-CONFIG_IPMI_LOCAL=y
-CONFIG_IPMI_EXTERN=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 b0095e1..4dbf866 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -1,11 +1,23 @@
 config PSERIES
     bool
+    select DIMM
+    select PCI
+    select VFIO
+    select XICS_SPAPR
+    select XIVE_SPAPR
 
 config SPAPR_RNG
     bool
+    default y
+    depends on PSERIES
 
 config POWERNV
     bool
+    select ISA_IPMI_BT
+    select ISA_BUS
+    select MC146818RTC
+    select XICS
+    select XIVE
 
 config PPC405
     bool
@@ -45,16 +57,14 @@ config MAC_PMU
 
 config XIVE
     bool
-    default y
-    depends on PSERIES
+    depends on POWERNV || PSERIES
 
 config MACIO_GPIO
     bool
 
 config XIVE_SPAPR
     bool
-    default y
-    depends on PSERIES
+    select XIVE
 
 config CUDA
     bool
-- 
1.8.3.1


Re: [Qemu-devel] [PATCH v2 1/5] ppc64: Express dependencies of 'pseries' and 'powernv' machines with kconfig
Posted by Paolo Bonzini 7 years ago
On 31/01/19 14:53, Thomas Huth wrote:

>  config PSERIES
>      bool
> +    select DIMM
> +    select PCI
> +    select VFIO
> +    select XICS_SPAPR
> +    select XIVE_SPAPR

Missing "select SPAPR_VSCSI", added it locally.

> 
>  config POWERNV
>      bool
> +    select ISA_IPMI_BT
> +    select ISA_BUS
> +    select MC146818RTC
> +    select XICS
> +    select XIVE
>  

Missing "select IPMI_LOCAL" for

/home/pbonzini/work/upstream/qemu/hw/ppc/pnv_bmc.c:67: undefined
reference to `ipmi_bmc_gen_event'
hw/ppc/pnv_bmc.o: In function `pnv_dt_bmc_sensors':
/home/pbonzini/work/upstream/qemu/hw/ppc/pnv_bmc.c:95: undefined
reference to `ipmi_bmc_sdr_find'

added it locally too.

Paolo