qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/10] hw: Various Kconfig fixes
@ 2021-05-13 16:38 Philippe Mathieu-Daudé
  2021-05-13 16:38 ` [PATCH 01/10] hw/mem/nvdimm: Use Kconfig 'imply' instead of 'depends on' Philippe Mathieu-Daudé
                   ` (10 more replies)
  0 siblings, 11 replies; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-13 16:38 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Philippe Mathieu-Daudé

Various Kconfig fixes when building stand-alone machine binaries.

FYI I'm looking at a way to test this automatically, by generating
all the configurations using:
https://docs.gitlab.com/ee/ci/parent_child_pipelines.html#dynamic-child-pipel=
ines
This way we could run this on release candidate tags.

Philippe Mathieu-Daud=C3=A9 (10):
  hw/mem/nvdimm: Use Kconfig 'imply' instead of 'depends on'
  hw/ide/Kconfig: Add missing dependency PCI -> QDEV
  hw/arm/Kconfig: Add missing dependency NPCM7XX -> SMBUS
  hw/arm/Kconfig: Remove unused DS1338 symbol from i.MX25 PDK Board
  hw/arm/Kconfig: Add missing SDHCI symbol to FSL_IMX25
  hw/riscv/Kconfig: Add missing dependency MICROCHIP_PFSOC -> SERIAL
  hw/riscv/Kconfig: Restrict NUMA to Virt & Spike machines
  hw/ppc/Kconfig: Add missing dependency E500 -> DS1338 RTC
  default-configs/devices: Remove implicy SEMIHOSTING config
  default-configs/devices: Clarify ARM_COMPATIBLE_SEMIHOSTING is
    required

 default-configs/devices/arm-softmmu.mak     | 5 +++--
 default-configs/devices/ppc-softmmu.mak     | 1 -
 default-configs/devices/ppc64-softmmu.mak   | 1 -
 default-configs/devices/riscv32-softmmu.mak | 5 +++--
 default-configs/devices/riscv64-softmmu.mak | 5 +++--
 hw/arm/Kconfig                              | 4 +++-
 hw/i386/Kconfig                             | 1 +
 hw/ide/Kconfig                              | 2 +-
 hw/mem/Kconfig                              | 2 --
 hw/ppc/Kconfig                              | 2 ++
 hw/riscv/Kconfig                            | 6 ++++++
 hw/riscv/meson.build                        | 2 +-
 12 files changed, 23 insertions(+), 13 deletions(-)

--=20
2.26.3




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

* [PATCH 01/10] hw/mem/nvdimm: Use Kconfig 'imply' instead of 'depends on'
  2021-05-13 16:38 [PATCH 00/10] hw: Various Kconfig fixes Philippe Mathieu-Daudé
@ 2021-05-13 16:38 ` Philippe Mathieu-Daudé
  2021-05-13 23:36   ` David Gibson
  2021-05-14  3:02   ` Bin Meng
  2021-05-13 16:38 ` [PATCH 02/10] hw/ide/Kconfig: Add missing dependency PCI -> QDEV Philippe Mathieu-Daudé
                   ` (9 subsequent siblings)
  10 siblings, 2 replies; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-13 16:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Eduardo Habkost, Michael S. Tsirkin,
	Richard Henderson, Greg Kurz, open list:ARM TCG CPUs,
	open list:PowerPC TCG CPUs, Igor Mammedov, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	David Gibson

Per the kconfig.rst:

  A device should be listed [...] ``imply`` if (depending on
  the QEMU command line) the board may or  may not be started
  without it.

This is the case with the NVDIMM device (it is certainly possible
to start a machine without NVDIMM) , so use the 'imply' weak
reverse dependency to select the symbol.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 default-configs/devices/ppc64-softmmu.mak | 1 -
 hw/arm/Kconfig                            | 1 +
 hw/i386/Kconfig                           | 1 +
 hw/mem/Kconfig                            | 2 --
 hw/ppc/Kconfig                            | 1 +
 5 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/default-configs/devices/ppc64-softmmu.mak b/default-configs/devices/ppc64-softmmu.mak
index ae0841fa3a1..cca52665d90 100644
--- a/default-configs/devices/ppc64-softmmu.mak
+++ b/default-configs/devices/ppc64-softmmu.mak
@@ -8,4 +8,3 @@ CONFIG_POWERNV=y
 
 # For pSeries
 CONFIG_PSERIES=y
-CONFIG_NVDIMM=y
diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index b887f6a5b17..67723d9ea6a 100644
--- a/hw/arm/Kconfig
+++ b/hw/arm/Kconfig
@@ -6,6 +6,7 @@ config ARM_VIRT
     imply VFIO_PLATFORM
     imply VFIO_XGMAC
     imply TPM_TIS_SYSBUS
+    imply NVDIMM
     select ARM_GIC
     select ACPI
     select ARM_SMMUV3
diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
index 7f91f30877f..66838fa397b 100644
--- a/hw/i386/Kconfig
+++ b/hw/i386/Kconfig
@@ -23,6 +23,7 @@ config PC
     imply TPM_TIS_ISA
     imply VGA_PCI
     imply VIRTIO_VGA
+    imply NVDIMM
     select FDC
     select I8259
     select I8254
diff --git a/hw/mem/Kconfig b/hw/mem/Kconfig
index a0ef2cf648e..8b19fdc49f1 100644
--- a/hw/mem/Kconfig
+++ b/hw/mem/Kconfig
@@ -7,6 +7,4 @@ config MEM_DEVICE
 
 config NVDIMM
     bool
-    default y
-    depends on (PC || PSERIES || ARM_VIRT)
     select MEM_DEVICE
diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index e51e0e5e5ac..66e0b15d9ef 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -3,6 +3,7 @@ config PSERIES
     imply PCI_DEVICES
     imply TEST_DEVICES
     imply VIRTIO_VGA
+    imply NVDIMM
     select DIMM
     select PCI
     select SPAPR_VSCSI
-- 
2.26.3



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

* [PATCH 02/10] hw/ide/Kconfig: Add missing dependency PCI -> QDEV
  2021-05-13 16:38 [PATCH 00/10] hw: Various Kconfig fixes Philippe Mathieu-Daudé
  2021-05-13 16:38 ` [PATCH 01/10] hw/mem/nvdimm: Use Kconfig 'imply' instead of 'depends on' Philippe Mathieu-Daudé
@ 2021-05-13 16:38 ` Philippe Mathieu-Daudé
  2021-05-14  3:03   ` Bin Meng
  2021-05-13 16:38 ` [PATCH 03/10] hw/arm/Kconfig: Add missing dependency NPCM7XX -> SMBUS Philippe Mathieu-Daudé
                   ` (8 subsequent siblings)
  10 siblings, 1 reply; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-13 16:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: John Snow, Paolo Bonzini, Philippe Mathieu-Daudé, open list:IDE

The pci_ide_create_devs() function is declared i hw/ide/qdev.c:

 $ git grep ide_create_drive
 hw/ide/pci.c:491:            ide_create_drive(d->bus + bus[i], unit[i], hd_table[i]);
 hw/ide/qdev.c:127:IDEDevice *ide_create_drive(IDEBus *bus, int unit, DriveInfo *drive)
 include/hw/ide/internal.h:653:IDEDevice *ide_create_drive(IDEBus *bus, int unit, DriveInfo *drive);

Fix the correct symbol dependency to avoid build failure when
deselecting some machines:

  /usr/bin/ld: libcommon.fa.p/hw_ide_pci.c.o: in function `pci_ide_create_devs':
  hw/ide/pci.c:491: undefined reference to `ide_create_drive'

Fixes: 8f01b41e109 ("ide: express dependencies with Kconfig")
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/ide/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/ide/Kconfig b/hw/ide/Kconfig
index 8e2c8934549..dd85fa3619f 100644
--- a/hw/ide/Kconfig
+++ b/hw/ide/Kconfig
@@ -8,7 +8,7 @@ config IDE_QDEV
 config IDE_PCI
     bool
     depends on PCI
-    select IDE_CORE
+    select IDE_QDEV
 
 config IDE_ISA
     bool
-- 
2.26.3



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

* [PATCH 03/10] hw/arm/Kconfig: Add missing dependency NPCM7XX -> SMBUS
  2021-05-13 16:38 [PATCH 00/10] hw: Various Kconfig fixes Philippe Mathieu-Daudé
  2021-05-13 16:38 ` [PATCH 01/10] hw/mem/nvdimm: Use Kconfig 'imply' instead of 'depends on' Philippe Mathieu-Daudé
  2021-05-13 16:38 ` [PATCH 02/10] hw/ide/Kconfig: Add missing dependency PCI -> QDEV Philippe Mathieu-Daudé
@ 2021-05-13 16:38 ` Philippe Mathieu-Daudé
  2021-05-13 16:42   ` Hao Wu
  2021-05-14  2:42   ` Bin Meng
  2021-05-13 16:38 ` [PATCH 04/10] hw/arm/Kconfig: Remove unused DS1338 symbol from i.MX25 PDK Board Philippe Mathieu-Daudé
                   ` (7 subsequent siblings)
  10 siblings, 2 replies; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-13 16:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: Corey Minyard, Peter Maydell, Doug Evans, Hao Wu, Tyrong Ting,
	open list:ARM TCG CPUs, Paolo Bonzini,
	Philippe Mathieu-Daudé

The TYPE_NPCM7XX_SMBUS device model exposes an SMBus, but
this isn't advertised with proper Kconfig symbol, leading
to an early build failure when building NPCM7XX machines
standalone:

  The following clauses were found for AT24C

      config AT24C depends on I2C
      select AT24C if NPCM7XX

Fix by adding SMBUS to NPCM7XX.

Fixes: 94e77879395 ("hw/i2c: Implement NPCM7XX SMBus Module Single Mode")
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
Cc: Doug Evans<dje@google.com>
Cc: Hao Wu <wuhaotsh@google.com>
Cc: Tyrong Ting<kfting@nuvoton.com>
Cc: Corey Minyard <cminyard@mvista.com>
---
 hw/arm/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index 67723d9ea6a..85c6a1a088c 100644
--- a/hw/arm/Kconfig
+++ b/hw/arm/Kconfig
@@ -373,6 +373,7 @@ config NPCM7XX
     bool
     select A9MPCORE
     select ARM_GIC
+    select SMBUS
     select AT24C  # EEPROM
     select PL310  # cache controller
     select SERIAL
-- 
2.26.3



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

* [PATCH 04/10] hw/arm/Kconfig: Remove unused DS1338 symbol from i.MX25 PDK Board
  2021-05-13 16:38 [PATCH 00/10] hw: Various Kconfig fixes Philippe Mathieu-Daudé
                   ` (2 preceding siblings ...)
  2021-05-13 16:38 ` [PATCH 03/10] hw/arm/Kconfig: Add missing dependency NPCM7XX -> SMBUS Philippe Mathieu-Daudé
@ 2021-05-13 16:38 ` Philippe Mathieu-Daudé
  2021-05-14  2:43   ` Bin Meng
  2021-05-13 16:38 ` [PATCH 05/10] hw/arm/Kconfig: Add missing SDHCI symbol to FSL_IMX25 Philippe Mathieu-Daudé
                   ` (6 subsequent siblings)
  10 siblings, 1 reply; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-13 16:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, open list:ARM TCG CPUs,
	Philippe Mathieu-Daudé,
	Peter Maydell

In commit c4f00daa5b3 ("imx25-pdk: create ds1338 for qtest inside
the test") we removed the DS1338 device from the i.MX25 machine
but forgot to remove it in the machine Kconfig definitions, do
it now.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/arm/Kconfig | 1 -
 1 file changed, 1 deletion(-)

diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index 85c6a1a088c..5827c092b28 100644
--- a/hw/arm/Kconfig
+++ b/hw/arm/Kconfig
@@ -386,7 +386,6 @@ config FSL_IMX25
     select IMX_FEC
     select IMX_I2C
     select WDT_IMX2
-    select DS1338
 
 config FSL_IMX31
     bool
-- 
2.26.3



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

* [PATCH 05/10] hw/arm/Kconfig: Add missing SDHCI symbol to FSL_IMX25
  2021-05-13 16:38 [PATCH 00/10] hw: Various Kconfig fixes Philippe Mathieu-Daudé
                   ` (3 preceding siblings ...)
  2021-05-13 16:38 ` [PATCH 04/10] hw/arm/Kconfig: Remove unused DS1338 symbol from i.MX25 PDK Board Philippe Mathieu-Daudé
@ 2021-05-13 16:38 ` Philippe Mathieu-Daudé
  2021-05-14  2:45   ` Bin Meng
  2021-05-13 16:38 ` [PATCH 06/10] hw/riscv/Kconfig: Add missing dependency MICROCHIP_PFSOC -> SERIAL Philippe Mathieu-Daudé
                   ` (5 subsequent siblings)
  10 siblings, 1 reply; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-13 16:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, open list:ARM TCG CPUs,
	Philippe Mathieu-Daudé,
	Guenter Roeck, Peter Maydell

Commit bfae1772c43 ("hw/arm/fsl-imx25: Wire up eSDHC controllers")
added a dependency on the TYPE_IMX_USDHC model, but forgot to add
the Kconfig selector. Fix that to solve when built stand-alone:

  $ qemu-system-arm -M imx25-pdk
  qemu-system-arm: missing object type 'imx-usdhc'
  Aborted (core dumped)

Fixes: bfae1772c43 ("hw/arm/fsl-imx25: Wire up eSDHC controllers")
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
Cc: Guenter Roeck <linux@roeck-us.net>
---
 hw/arm/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index 5827c092b28..6bb34926bb5 100644
--- a/hw/arm/Kconfig
+++ b/hw/arm/Kconfig
@@ -386,6 +386,7 @@ config FSL_IMX25
     select IMX_FEC
     select IMX_I2C
     select WDT_IMX2
+    select SDHCI
 
 config FSL_IMX31
     bool
-- 
2.26.3



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

* [PATCH 06/10] hw/riscv/Kconfig: Add missing dependency MICROCHIP_PFSOC -> SERIAL
  2021-05-13 16:38 [PATCH 00/10] hw: Various Kconfig fixes Philippe Mathieu-Daudé
                   ` (4 preceding siblings ...)
  2021-05-13 16:38 ` [PATCH 05/10] hw/arm/Kconfig: Add missing SDHCI symbol to FSL_IMX25 Philippe Mathieu-Daudé
@ 2021-05-13 16:38 ` Philippe Mathieu-Daudé
  2021-05-14  2:47   ` Bin Meng
  2021-05-13 16:38 ` [PATCH 07/10] hw/riscv/Kconfig: Restrict NUMA to Virt & Spike machines Philippe Mathieu-Daudé
                   ` (4 subsequent siblings)
  10 siblings, 1 reply; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-13 16:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: open list:RISC-V TCG CPUs, Bin Meng, Alistair Francis,
	Paolo Bonzini, Philippe Mathieu-Daudé,
	Palmer Dabbelt

Commit a8fb0a500a6 ("hw/char: Add Microchip PolarFire SoC MMUART
emulation") added a dependency on the SERIAL model, but forgot to
add the Kconfig selector. Fix that to solve when built the
MICROCHIP_PFSOC machine stand-alone:

  /usr/bin/ld: libcommon.fa.p/hw_char_mchp_pfsoc_mmuart.c.o: in function `mchp_pfsoc_mmuart_create':
  hw/char/mchp_pfsoc_mmuart.c:79: undefined reference to `serial_mm_init'

Fixes: a8fb0a500a6 ("hw/char: Add Microchip PolarFire SoC MMUART emulation")
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
Cc: Bin Meng <bin.meng@windriver.com>
Cc: Alistair Francis <alistair.francis@wdc.com>
---
 hw/riscv/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/riscv/Kconfig b/hw/riscv/Kconfig
index 86957ec7b06..b72a248809e 100644
--- a/hw/riscv/Kconfig
+++ b/hw/riscv/Kconfig
@@ -12,6 +12,7 @@ config MICROCHIP_PFSOC
     select SIFIVE_CLINT
     select SIFIVE_PDMA
     select SIFIVE_PLIC
+    select SERIAL
     select UNIMP
 
 config OPENTITAN
-- 
2.26.3



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

* [PATCH 07/10] hw/riscv/Kconfig: Restrict NUMA to Virt & Spike machines
  2021-05-13 16:38 [PATCH 00/10] hw: Various Kconfig fixes Philippe Mathieu-Daudé
                   ` (5 preceding siblings ...)
  2021-05-13 16:38 ` [PATCH 06/10] hw/riscv/Kconfig: Add missing dependency MICROCHIP_PFSOC -> SERIAL Philippe Mathieu-Daudé
@ 2021-05-13 16:38 ` Philippe Mathieu-Daudé
  2021-05-14  2:49   ` Bin Meng
  2021-05-13 16:38 ` [PATCH 08/10] hw/ppc/Kconfig: Add missing dependency E500 -> DS1338 RTC Philippe Mathieu-Daudé
                   ` (3 subsequent siblings)
  10 siblings, 1 reply; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-13 16:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: open list:RISC-V TCG CPUs, Bin Meng, Alistair Francis,
	Paolo Bonzini, Philippe Mathieu-Daudé,
	Palmer Dabbelt

Only the Virt and Spike machines use NUMA. Add a RISCV_NUMA Kconfig
symbol and only have these machines select it. Adapt the Meson file
to only built it if required.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/riscv/Kconfig     | 5 +++++
 hw/riscv/meson.build | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/hw/riscv/Kconfig b/hw/riscv/Kconfig
index b72a248809e..b22736169c1 100644
--- a/hw/riscv/Kconfig
+++ b/hw/riscv/Kconfig
@@ -1,3 +1,6 @@
+config RISCV_NUMA
+    bool
+
 config IBEX
     bool
 
@@ -35,6 +38,7 @@ config RISCV_VIRT
     imply PCI_DEVICES
     imply VIRTIO_VGA
     imply TEST_DEVICES
+    select RISCV_NUMA
     select GOLDFISH_RTC
     select MSI_NONBROKEN
     select PCI
@@ -75,6 +79,7 @@ config SIFIVE_U
 
 config SPIKE
     bool
+    select RISCV_NUMA
     select HTIF
     select MSI_NONBROKEN
     select SIFIVE_CLINT
diff --git a/hw/riscv/meson.build b/hw/riscv/meson.build
index a97454661c0..ab6cae57eae 100644
--- a/hw/riscv/meson.build
+++ b/hw/riscv/meson.build
@@ -1,6 +1,6 @@
 riscv_ss = ss.source_set()
 riscv_ss.add(files('boot.c'), fdt)
-riscv_ss.add(files('numa.c'))
+riscv_ss.add(when: 'CONFIG_RISCV_NUMA', if_true: files('numa.c'))
 riscv_ss.add(files('riscv_hart.c'))
 riscv_ss.add(when: 'CONFIG_OPENTITAN', if_true: files('opentitan.c'))
 riscv_ss.add(when: 'CONFIG_RISCV_VIRT', if_true: files('virt.c'))
-- 
2.26.3



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

* [PATCH 08/10] hw/ppc/Kconfig: Add missing dependency E500 -> DS1338 RTC
  2021-05-13 16:38 [PATCH 00/10] hw: Various Kconfig fixes Philippe Mathieu-Daudé
                   ` (6 preceding siblings ...)
  2021-05-13 16:38 ` [PATCH 07/10] hw/riscv/Kconfig: Restrict NUMA to Virt & Spike machines Philippe Mathieu-Daudé
@ 2021-05-13 16:38 ` Philippe Mathieu-Daudé
  2021-05-13 23:36   ` David Gibson
  2021-05-14  2:50   ` Bin Meng
  2021-05-13 16:38 ` [PATCH 09/10] default-configs/devices: Remove implicy SEMIHOSTING config Philippe Mathieu-Daudé
                   ` (2 subsequent siblings)
  10 siblings, 2 replies; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-13 16:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: Greg Kurz, Amit Singh Tomar, open list:PowerPC TCG CPUs,
	Paolo Bonzini, Philippe Mathieu-Daudé,
	Andrew Randrianasulu, David Gibson

Commit 7abb479c7ab ("PPC: E500: Add FSL I2C controller and integrate
RTC with it") added a global dependency on the DS1338 model, instead
of a machine one (via Kconfig). This gives trouble when building
standalone machines not exposing I2C bus:

  The following clauses were found for DS1338

      CONFIG_DS1338=y
      config DS1338 depends on I2C

Fix by selecting the DS1338 symbol in the single machine requiring
it, the E500.

Fixes: 7abb479c7ab ("PPC: E500: Add FSL I2C controller and integrate RTC with it")
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
Cc: Amit Singh Tomar <amit.tomar@freescale.com>
Cc: Andrew Randrianasulu <randrianasulu@gmail.com>
---
 default-configs/devices/ppc-softmmu.mak | 1 -
 hw/ppc/Kconfig                          | 1 +
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/default-configs/devices/ppc-softmmu.mak b/default-configs/devices/ppc-softmmu.mak
index c2d41198cde..5a7f99d1e45 100644
--- a/default-configs/devices/ppc-softmmu.mak
+++ b/default-configs/devices/ppc-softmmu.mak
@@ -1,7 +1,6 @@
 # Default configuration for ppc-softmmu
 
 # For embedded PPCs:
-CONFIG_DS1338=y
 CONFIG_E500=y
 CONFIG_PPC405=y
 CONFIG_PPC440=y
diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index 66e0b15d9ef..2e4c56eb770 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -128,6 +128,7 @@ config E500
     select SERIAL
     select MPC_I2C
     select FDT_PPC
+    select DS1338
 
 config VIRTEX
     bool
-- 
2.26.3



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

* [PATCH 09/10] default-configs/devices: Remove implicy SEMIHOSTING config
  2021-05-13 16:38 [PATCH 00/10] hw: Various Kconfig fixes Philippe Mathieu-Daudé
                   ` (7 preceding siblings ...)
  2021-05-13 16:38 ` [PATCH 08/10] hw/ppc/Kconfig: Add missing dependency E500 -> DS1338 RTC Philippe Mathieu-Daudé
@ 2021-05-13 16:38 ` Philippe Mathieu-Daudé
  2021-05-13 17:00   ` Philippe Mathieu-Daudé
  2021-05-14  2:53   ` Bin Meng
  2021-05-13 16:38 ` [PATCH 10/10] default-configs/devices: Clarify ARM_COMPATIBLE_SEMIHOSTING is required Philippe Mathieu-Daudé
  2021-05-13 17:59 ` [PATCH 00/10] hw: Various Kconfig fixes Paolo Bonzini
  10 siblings, 2 replies; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-13 16:38 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Philippe Mathieu-Daudé

Cmmit 56b5170c87e ("semihosting: Move ARM semihosting code to
shared directories"), added the ARM_COMPATIBLE_SEMIHOSTING symbol
which selects SEMIHOSTING.

Since the ARM/RISC-V targets select ARM_COMPATIBLE_SEMIHOSTING,
they don't need to select SEMIHOSTING manually. Simplify.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 default-configs/devices/arm-softmmu.mak     | 1 -
 default-configs/devices/riscv32-softmmu.mak | 1 -
 default-configs/devices/riscv64-softmmu.mak | 1 -
 3 files changed, 3 deletions(-)

diff --git a/default-configs/devices/arm-softmmu.mak b/default-configs/devices/arm-softmmu.mak
index 0500156a0c7..341d439de6f 100644
--- a/default-configs/devices/arm-softmmu.mak
+++ b/default-configs/devices/arm-softmmu.mak
@@ -41,6 +41,5 @@ CONFIG_MICROBIT=y
 CONFIG_FSL_IMX25=y
 CONFIG_FSL_IMX7=y
 CONFIG_FSL_IMX6UL=y
-CONFIG_SEMIHOSTING=y
 CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
 CONFIG_ALLWINNER_H3=y
diff --git a/default-configs/devices/riscv32-softmmu.mak b/default-configs/devices/riscv32-softmmu.mak
index d847bd5692e..5c9ad2590ef 100644
--- a/default-configs/devices/riscv32-softmmu.mak
+++ b/default-configs/devices/riscv32-softmmu.mak
@@ -3,7 +3,6 @@
 # Uncomment the following lines to disable these optional devices:
 #
 #CONFIG_PCI_DEVICES=n
-CONFIG_SEMIHOSTING=y
 CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
 
 # Boards:
diff --git a/default-configs/devices/riscv64-softmmu.mak b/default-configs/devices/riscv64-softmmu.mak
index bc69301fa4a..8a92f0a2c74 100644
--- a/default-configs/devices/riscv64-softmmu.mak
+++ b/default-configs/devices/riscv64-softmmu.mak
@@ -3,7 +3,6 @@
 # Uncomment the following lines to disable these optional devices:
 #
 #CONFIG_PCI_DEVICES=n
-CONFIG_SEMIHOSTING=y
 CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
 
 # Boards:
-- 
2.26.3



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

* [PATCH 10/10] default-configs/devices: Clarify ARM_COMPATIBLE_SEMIHOSTING is required
  2021-05-13 16:38 [PATCH 00/10] hw: Various Kconfig fixes Philippe Mathieu-Daudé
                   ` (8 preceding siblings ...)
  2021-05-13 16:38 ` [PATCH 09/10] default-configs/devices: Remove implicy SEMIHOSTING config Philippe Mathieu-Daudé
@ 2021-05-13 16:38 ` Philippe Mathieu-Daudé
  2021-05-13 17:00   ` Philippe Mathieu-Daudé
  2021-05-13 17:58   ` Paolo Bonzini
  2021-05-13 17:59 ` [PATCH 00/10] hw: Various Kconfig fixes Paolo Bonzini
  10 siblings, 2 replies; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-13 16:38 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Philippe Mathieu-Daudé

ARM_COMPATIBLE_SEMIHOSTING is not optional on these targets.
Move the variable assignment out of the block documented with
"Uncomment the following lines to disable these optional devices".

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 default-configs/devices/arm-softmmu.mak     | 4 +++-
 default-configs/devices/riscv32-softmmu.mak | 4 +++-
 default-configs/devices/riscv64-softmmu.mak | 4 +++-
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/default-configs/devices/arm-softmmu.mak b/default-configs/devices/arm-softmmu.mak
index 341d439de6f..2713e5e9eb7 100644
--- a/default-configs/devices/arm-softmmu.mak
+++ b/default-configs/devices/arm-softmmu.mak
@@ -1,5 +1,8 @@
 # Default configuration for arm-softmmu
 
+# TODO: semihosting is always required - move to default-configs/targets/
+CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
+
 # TODO: ARM_V7M is currently always required - make this more flexible!
 CONFIG_ARM_V7M=y
 
@@ -41,5 +44,4 @@ CONFIG_MICROBIT=y
 CONFIG_FSL_IMX25=y
 CONFIG_FSL_IMX7=y
 CONFIG_FSL_IMX6UL=y
-CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
 CONFIG_ALLWINNER_H3=y
diff --git a/default-configs/devices/riscv32-softmmu.mak b/default-configs/devices/riscv32-softmmu.mak
index 5c9ad2590ef..7219f9749ad 100644
--- a/default-configs/devices/riscv32-softmmu.mak
+++ b/default-configs/devices/riscv32-softmmu.mak
@@ -1,9 +1,11 @@
 # Default configuration for riscv32-softmmu
 
+# TODO: semihosting is always required - move to default-configs/targets/
+CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
+
 # Uncomment the following lines to disable these optional devices:
 #
 #CONFIG_PCI_DEVICES=n
-CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
 
 # Boards:
 #
diff --git a/default-configs/devices/riscv64-softmmu.mak b/default-configs/devices/riscv64-softmmu.mak
index 8a92f0a2c74..1d1b8bb9f68 100644
--- a/default-configs/devices/riscv64-softmmu.mak
+++ b/default-configs/devices/riscv64-softmmu.mak
@@ -1,9 +1,11 @@
 # Default configuration for riscv64-softmmu
 
+# TODO: semihosting is always required - move to default-configs/targets/
+CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
+
 # Uncomment the following lines to disable these optional devices:
 #
 #CONFIG_PCI_DEVICES=n
-CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
 
 # Boards:
 #
-- 
2.26.3



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

* Re: [PATCH 03/10] hw/arm/Kconfig: Add missing dependency NPCM7XX -> SMBUS
  2021-05-13 16:38 ` [PATCH 03/10] hw/arm/Kconfig: Add missing dependency NPCM7XX -> SMBUS Philippe Mathieu-Daudé
@ 2021-05-13 16:42   ` Hao Wu
  2021-05-14  2:42   ` Bin Meng
  1 sibling, 0 replies; 34+ messages in thread
From: Hao Wu @ 2021-05-13 16:42 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: QEMU Developers, Paolo Bonzini, Doug Evans, Tyrong Ting,
	Corey Minyard, Peter Maydell, open list:ARM TCG CPUs

[-- Attachment #1: Type: text/plain, Size: 1234 bytes --]

Reviewed-by: Hao Wu <wuhaotsh@google.com>

On Thu, May 13, 2021 at 9:39 AM Philippe Mathieu-Daudé <philmd@redhat.com>
wrote:

> The TYPE_NPCM7XX_SMBUS device model exposes an SMBus, but
> this isn't advertised with proper Kconfig symbol, leading
> to an early build failure when building NPCM7XX machines
> standalone:
>
>   The following clauses were found for AT24C
>
>       config AT24C depends on I2C
>       select AT24C if NPCM7XX
>
> Fix by adding SMBUS to NPCM7XX.
>
> Fixes: 94e77879395 ("hw/i2c: Implement NPCM7XX SMBus Module Single Mode")
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> Cc: Doug Evans<dje@google.com>
> Cc: Hao Wu <wuhaotsh@google.com>
> Cc: Tyrong Ting<kfting@nuvoton.com>
> Cc: Corey Minyard <cminyard@mvista.com>
> ---
>  hw/arm/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
> index 67723d9ea6a..85c6a1a088c 100644
> --- a/hw/arm/Kconfig
> +++ b/hw/arm/Kconfig
> @@ -373,6 +373,7 @@ config NPCM7XX
>      bool
>      select A9MPCORE
>      select ARM_GIC
> +    select SMBUS
>      select AT24C  # EEPROM
>      select PL310  # cache controller
>      select SERIAL
> --
> 2.26.3
>
>

[-- Attachment #2: Type: text/html, Size: 1985 bytes --]

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

* Re: [PATCH 09/10] default-configs/devices: Remove implicy SEMIHOSTING config
  2021-05-13 16:38 ` [PATCH 09/10] default-configs/devices: Remove implicy SEMIHOSTING config Philippe Mathieu-Daudé
@ 2021-05-13 17:00   ` Philippe Mathieu-Daudé
  2021-05-14  2:53   ` Bin Meng
  1 sibling, 0 replies; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-13 17:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Alex Bennée

Forgot to Cc Alex.

On 5/13/21 6:38 PM, Philippe Mathieu-Daudé wrote:
> Cmmit 56b5170c87e ("semihosting: Move ARM semihosting code to
> shared directories"), added the ARM_COMPATIBLE_SEMIHOSTING symbol
> which selects SEMIHOSTING.
> 
> Since the ARM/RISC-V targets select ARM_COMPATIBLE_SEMIHOSTING,
> they don't need to select SEMIHOSTING manually. Simplify.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  default-configs/devices/arm-softmmu.mak     | 1 -
>  default-configs/devices/riscv32-softmmu.mak | 1 -
>  default-configs/devices/riscv64-softmmu.mak | 1 -
>  3 files changed, 3 deletions(-)
> 
> diff --git a/default-configs/devices/arm-softmmu.mak b/default-configs/devices/arm-softmmu.mak
> index 0500156a0c7..341d439de6f 100644
> --- a/default-configs/devices/arm-softmmu.mak
> +++ b/default-configs/devices/arm-softmmu.mak
> @@ -41,6 +41,5 @@ CONFIG_MICROBIT=y
>  CONFIG_FSL_IMX25=y
>  CONFIG_FSL_IMX7=y
>  CONFIG_FSL_IMX6UL=y
> -CONFIG_SEMIHOSTING=y
>  CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
>  CONFIG_ALLWINNER_H3=y
> diff --git a/default-configs/devices/riscv32-softmmu.mak b/default-configs/devices/riscv32-softmmu.mak
> index d847bd5692e..5c9ad2590ef 100644
> --- a/default-configs/devices/riscv32-softmmu.mak
> +++ b/default-configs/devices/riscv32-softmmu.mak
> @@ -3,7 +3,6 @@
>  # Uncomment the following lines to disable these optional devices:
>  #
>  #CONFIG_PCI_DEVICES=n
> -CONFIG_SEMIHOSTING=y
>  CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
>  
>  # Boards:
> diff --git a/default-configs/devices/riscv64-softmmu.mak b/default-configs/devices/riscv64-softmmu.mak
> index bc69301fa4a..8a92f0a2c74 100644
> --- a/default-configs/devices/riscv64-softmmu.mak
> +++ b/default-configs/devices/riscv64-softmmu.mak
> @@ -3,7 +3,6 @@
>  # Uncomment the following lines to disable these optional devices:
>  #
>  #CONFIG_PCI_DEVICES=n
> -CONFIG_SEMIHOSTING=y
>  CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
>  
>  # Boards:
> 



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

* Re: [PATCH 10/10] default-configs/devices: Clarify ARM_COMPATIBLE_SEMIHOSTING is required
  2021-05-13 16:38 ` [PATCH 10/10] default-configs/devices: Clarify ARM_COMPATIBLE_SEMIHOSTING is required Philippe Mathieu-Daudé
@ 2021-05-13 17:00   ` Philippe Mathieu-Daudé
  2021-05-13 17:58   ` Paolo Bonzini
  1 sibling, 0 replies; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-13 17:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Thomas Huth, Alex Bennée

Cc Alex & Thomas

On 5/13/21 6:38 PM, Philippe Mathieu-Daudé wrote:
> ARM_COMPATIBLE_SEMIHOSTING is not optional on these targets.
> Move the variable assignment out of the block documented with
> "Uncomment the following lines to disable these optional devices".
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  default-configs/devices/arm-softmmu.mak     | 4 +++-
>  default-configs/devices/riscv32-softmmu.mak | 4 +++-
>  default-configs/devices/riscv64-softmmu.mak | 4 +++-
>  3 files changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/default-configs/devices/arm-softmmu.mak b/default-configs/devices/arm-softmmu.mak
> index 341d439de6f..2713e5e9eb7 100644
> --- a/default-configs/devices/arm-softmmu.mak
> +++ b/default-configs/devices/arm-softmmu.mak
> @@ -1,5 +1,8 @@
>  # Default configuration for arm-softmmu
>  
> +# TODO: semihosting is always required - move to default-configs/targets/
> +CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
> +
>  # TODO: ARM_V7M is currently always required - make this more flexible!
>  CONFIG_ARM_V7M=y
>  
> @@ -41,5 +44,4 @@ CONFIG_MICROBIT=y
>  CONFIG_FSL_IMX25=y
>  CONFIG_FSL_IMX7=y
>  CONFIG_FSL_IMX6UL=y
> -CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
>  CONFIG_ALLWINNER_H3=y
> diff --git a/default-configs/devices/riscv32-softmmu.mak b/default-configs/devices/riscv32-softmmu.mak
> index 5c9ad2590ef..7219f9749ad 100644
> --- a/default-configs/devices/riscv32-softmmu.mak
> +++ b/default-configs/devices/riscv32-softmmu.mak
> @@ -1,9 +1,11 @@
>  # Default configuration for riscv32-softmmu
>  
> +# TODO: semihosting is always required - move to default-configs/targets/
> +CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
> +
>  # Uncomment the following lines to disable these optional devices:
>  #
>  #CONFIG_PCI_DEVICES=n
> -CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
>  
>  # Boards:
>  #
> diff --git a/default-configs/devices/riscv64-softmmu.mak b/default-configs/devices/riscv64-softmmu.mak
> index 8a92f0a2c74..1d1b8bb9f68 100644
> --- a/default-configs/devices/riscv64-softmmu.mak
> +++ b/default-configs/devices/riscv64-softmmu.mak
> @@ -1,9 +1,11 @@
>  # Default configuration for riscv64-softmmu
>  
> +# TODO: semihosting is always required - move to default-configs/targets/
> +CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
> +
>  # Uncomment the following lines to disable these optional devices:
>  #
>  #CONFIG_PCI_DEVICES=n
> -CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
>  
>  # Boards:
>  #
> 



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

* Re: [PATCH 10/10] default-configs/devices: Clarify ARM_COMPATIBLE_SEMIHOSTING is required
  2021-05-13 16:38 ` [PATCH 10/10] default-configs/devices: Clarify ARM_COMPATIBLE_SEMIHOSTING is required Philippe Mathieu-Daudé
  2021-05-13 17:00   ` Philippe Mathieu-Daudé
@ 2021-05-13 17:58   ` Paolo Bonzini
  2021-05-13 18:16     ` Philippe Mathieu-Daudé
  1 sibling, 1 reply; 34+ messages in thread
From: Paolo Bonzini @ 2021-05-13 17:58 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel

On 13/05/21 18:38, Philippe Mathieu-Daudé wrote:
> ARM_COMPATIBLE_SEMIHOSTING is not optional on these targets.
> Move the variable assignment out of the block documented with
> "Uncomment the following lines to disable these optional devices".

Can you document why it is always required in the commit message?

I suppose you cannot move it to default-configs/targets/ because you 
want to have CONFIG_SEMIHOSTING selected automatically (patch 9).

Paolo

> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>   default-configs/devices/arm-softmmu.mak     | 4 +++-
>   default-configs/devices/riscv32-softmmu.mak | 4 +++-
>   default-configs/devices/riscv64-softmmu.mak | 4 +++-
>   3 files changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/default-configs/devices/arm-softmmu.mak b/default-configs/devices/arm-softmmu.mak
> index 341d439de6f..2713e5e9eb7 100644
> --- a/default-configs/devices/arm-softmmu.mak
> +++ b/default-configs/devices/arm-softmmu.mak
> @@ -1,5 +1,8 @@
>   # Default configuration for arm-softmmu
>   
> +# TODO: semihosting is always required - move to default-configs/targets/
> +CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
> +
>   # TODO: ARM_V7M is currently always required - make this more flexible!
>   CONFIG_ARM_V7M=y
>   
> @@ -41,5 +44,4 @@ CONFIG_MICROBIT=y
>   CONFIG_FSL_IMX25=y
>   CONFIG_FSL_IMX7=y
>   CONFIG_FSL_IMX6UL=y
> -CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
>   CONFIG_ALLWINNER_H3=y
> diff --git a/default-configs/devices/riscv32-softmmu.mak b/default-configs/devices/riscv32-softmmu.mak
> index 5c9ad2590ef..7219f9749ad 100644
> --- a/default-configs/devices/riscv32-softmmu.mak
> +++ b/default-configs/devices/riscv32-softmmu.mak
> @@ -1,9 +1,11 @@
>   # Default configuration for riscv32-softmmu
>   
> +# TODO: semihosting is always required - move to default-configs/targets/
> +CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
> +
>   # Uncomment the following lines to disable these optional devices:
>   #
>   #CONFIG_PCI_DEVICES=n
> -CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
>   
>   # Boards:
>   #
> diff --git a/default-configs/devices/riscv64-softmmu.mak b/default-configs/devices/riscv64-softmmu.mak
> index 8a92f0a2c74..1d1b8bb9f68 100644
> --- a/default-configs/devices/riscv64-softmmu.mak
> +++ b/default-configs/devices/riscv64-softmmu.mak
> @@ -1,9 +1,11 @@
>   # Default configuration for riscv64-softmmu
>   
> +# TODO: semihosting is always required - move to default-configs/targets/
> +CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
> +
>   # Uncomment the following lines to disable these optional devices:
>   #
>   #CONFIG_PCI_DEVICES=n
> -CONFIG_ARM_COMPATIBLE_SEMIHOSTING=y
>   
>   # Boards:
>   #
> 



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

* Re: [PATCH 00/10] hw: Various Kconfig fixes
  2021-05-13 16:38 [PATCH 00/10] hw: Various Kconfig fixes Philippe Mathieu-Daudé
                   ` (9 preceding siblings ...)
  2021-05-13 16:38 ` [PATCH 10/10] default-configs/devices: Clarify ARM_COMPATIBLE_SEMIHOSTING is required Philippe Mathieu-Daudé
@ 2021-05-13 17:59 ` Paolo Bonzini
  10 siblings, 0 replies; 34+ messages in thread
From: Paolo Bonzini @ 2021-05-13 17:59 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel

On 13/05/21 18:38, Philippe Mathieu-Daudé wrote:
> Various Kconfig fixes when building stand-alone machine binaries.
> 
> FYI I'm looking at a way to test this automatically, by generating
> all the configurations using:
> https://docs.gitlab.com/ee/ci/parent_child_pipelines.html#dynamic-child-pipel=
> ines
> This way we could run this on release candidate tags.
> 
> Philippe Mathieu-Daud=C3=A9 (10):
>    hw/mem/nvdimm: Use Kconfig 'imply' instead of 'depends on'
>    hw/ide/Kconfig: Add missing dependency PCI -> QDEV
>    hw/arm/Kconfig: Add missing dependency NPCM7XX -> SMBUS
>    hw/arm/Kconfig: Remove unused DS1338 symbol from i.MX25 PDK Board
>    hw/arm/Kconfig: Add missing SDHCI symbol to FSL_IMX25
>    hw/riscv/Kconfig: Add missing dependency MICROCHIP_PFSOC -> SERIAL
>    hw/riscv/Kconfig: Restrict NUMA to Virt & Spike machines
>    hw/ppc/Kconfig: Add missing dependency E500 -> DS1338 RTC
>    default-configs/devices: Remove implicy SEMIHOSTING config
>    default-configs/devices: Clarify ARM_COMPATIBLE_SEMIHOSTING is
>      required
> 
>   default-configs/devices/arm-softmmu.mak     | 5 +++--
>   default-configs/devices/ppc-softmmu.mak     | 1 -
>   default-configs/devices/ppc64-softmmu.mak   | 1 -
>   default-configs/devices/riscv32-softmmu.mak | 5 +++--
>   default-configs/devices/riscv64-softmmu.mak | 5 +++--
>   hw/arm/Kconfig                              | 4 +++-
>   hw/i386/Kconfig                             | 1 +
>   hw/ide/Kconfig                              | 2 +-
>   hw/mem/Kconfig                              | 2 --
>   hw/ppc/Kconfig                              | 2 ++
>   hw/riscv/Kconfig                            | 6 ++++++
>   hw/riscv/meson.build                        | 2 +-
>   12 files changed, 23 insertions(+), 13 deletions(-)
> 
> --=20
> 2.26.3
> 
> 
> 

For patches 1-8

Acked-by: Paolo Bonzini <pbonzini@redhat.com>

Feel free to send a pull request once the target maintainers for 
ARM/RISC-V/PPC have had a look.

Paolo



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

* Re: [PATCH 10/10] default-configs/devices: Clarify ARM_COMPATIBLE_SEMIHOSTING is required
  2021-05-13 17:58   ` Paolo Bonzini
@ 2021-05-13 18:16     ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-13 18:16 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel, Alex Bennée

On 5/13/21 7:58 PM, Paolo Bonzini wrote:
> On 13/05/21 18:38, Philippe Mathieu-Daudé wrote:
>> ARM_COMPATIBLE_SEMIHOSTING is not optional on these targets.
>> Move the variable assignment out of the block documented with
>> "Uncomment the following lines to disable these optional devices".
> 
> Can you document why it is always required in the commit message?

OK, basically SEMIHOSTING is not a device but an architectural thing.
Maybe we are mixing various things, like a semihosting console (yes,
a device) and the architectural part, I will discuss that with Alex.

> I suppose you cannot move it to default-configs/targets/ because you
> want to have CONFIG_SEMIHOSTING selected automatically (patch 9).

That and other things. This is annoying me since more than 1 year.
I'm waiting Claudio's ARM KVM/TCG series get merged before getting
my hands dirty with meson.build. Let's postpone this patch (and the
previous one) for now.

Thanks for the review,

Phil.



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

* Re: [PATCH 01/10] hw/mem/nvdimm: Use Kconfig 'imply' instead of 'depends on'
  2021-05-13 16:38 ` [PATCH 01/10] hw/mem/nvdimm: Use Kconfig 'imply' instead of 'depends on' Philippe Mathieu-Daudé
@ 2021-05-13 23:36   ` David Gibson
  2021-05-14  3:02   ` Bin Meng
  1 sibling, 0 replies; 34+ messages in thread
From: David Gibson @ 2021-05-13 23:36 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Peter Maydell, Eduardo Habkost, Michael S. Tsirkin,
	Richard Henderson, qemu-devel, Greg Kurz, open list:ARM TCG CPUs,
	open list:PowerPC TCG CPUs, Igor Mammedov, Paolo Bonzini

[-- Attachment #1: Type: text/plain, Size: 2735 bytes --]

On Thu, May 13, 2021 at 06:38:49PM +0200, Philippe Mathieu-Daudé wrote:
> Per the kconfig.rst:
> 
>   A device should be listed [...] ``imply`` if (depending on
>   the QEMU command line) the board may or  may not be started
>   without it.
> 
> This is the case with the NVDIMM device (it is certainly possible
> to start a machine without NVDIMM) , so use the 'imply' weak
> reverse dependency to select the symbol.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

ppc part
Acked-by: David Gibson <david@gibson.dropbear.id.au>

> ---
>  default-configs/devices/ppc64-softmmu.mak | 1 -
>  hw/arm/Kconfig                            | 1 +
>  hw/i386/Kconfig                           | 1 +
>  hw/mem/Kconfig                            | 2 --
>  hw/ppc/Kconfig                            | 1 +
>  5 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/default-configs/devices/ppc64-softmmu.mak b/default-configs/devices/ppc64-softmmu.mak
> index ae0841fa3a1..cca52665d90 100644
> --- a/default-configs/devices/ppc64-softmmu.mak
> +++ b/default-configs/devices/ppc64-softmmu.mak
> @@ -8,4 +8,3 @@ CONFIG_POWERNV=y
>  
>  # For pSeries
>  CONFIG_PSERIES=y
> -CONFIG_NVDIMM=y
> diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
> index b887f6a5b17..67723d9ea6a 100644
> --- a/hw/arm/Kconfig
> +++ b/hw/arm/Kconfig
> @@ -6,6 +6,7 @@ config ARM_VIRT
>      imply VFIO_PLATFORM
>      imply VFIO_XGMAC
>      imply TPM_TIS_SYSBUS
> +    imply NVDIMM
>      select ARM_GIC
>      select ACPI
>      select ARM_SMMUV3
> diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
> index 7f91f30877f..66838fa397b 100644
> --- a/hw/i386/Kconfig
> +++ b/hw/i386/Kconfig
> @@ -23,6 +23,7 @@ config PC
>      imply TPM_TIS_ISA
>      imply VGA_PCI
>      imply VIRTIO_VGA
> +    imply NVDIMM
>      select FDC
>      select I8259
>      select I8254
> diff --git a/hw/mem/Kconfig b/hw/mem/Kconfig
> index a0ef2cf648e..8b19fdc49f1 100644
> --- a/hw/mem/Kconfig
> +++ b/hw/mem/Kconfig
> @@ -7,6 +7,4 @@ config MEM_DEVICE
>  
>  config NVDIMM
>      bool
> -    default y
> -    depends on (PC || PSERIES || ARM_VIRT)
>      select MEM_DEVICE
> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
> index e51e0e5e5ac..66e0b15d9ef 100644
> --- a/hw/ppc/Kconfig
> +++ b/hw/ppc/Kconfig
> @@ -3,6 +3,7 @@ config PSERIES
>      imply PCI_DEVICES
>      imply TEST_DEVICES
>      imply VIRTIO_VGA
> +    imply NVDIMM
>      select DIMM
>      select PCI
>      select SPAPR_VSCSI

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [PATCH 08/10] hw/ppc/Kconfig: Add missing dependency E500 -> DS1338 RTC
  2021-05-13 16:38 ` [PATCH 08/10] hw/ppc/Kconfig: Add missing dependency E500 -> DS1338 RTC Philippe Mathieu-Daudé
@ 2021-05-13 23:36   ` David Gibson
  2021-05-14  2:50   ` Bin Meng
  1 sibling, 0 replies; 34+ messages in thread
From: David Gibson @ 2021-05-13 23:36 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Greg Kurz, qemu-devel, Amit Singh Tomar,
	open list:PowerPC TCG CPUs, Paolo Bonzini, Andrew Randrianasulu

[-- Attachment #1: Type: text/plain, Size: 1926 bytes --]

On Thu, May 13, 2021 at 06:38:56PM +0200, Philippe Mathieu-Daudé wrote:
> Commit 7abb479c7ab ("PPC: E500: Add FSL I2C controller and integrate
> RTC with it") added a global dependency on the DS1338 model, instead
> of a machine one (via Kconfig). This gives trouble when building
> standalone machines not exposing I2C bus:
> 
>   The following clauses were found for DS1338
> 
>       CONFIG_DS1338=y
>       config DS1338 depends on I2C
> 
> Fix by selecting the DS1338 symbol in the single machine requiring
> it, the E500.
> 
> Fixes: 7abb479c7ab ("PPC: E500: Add FSL I2C controller and integrate RTC with it")
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Acked-by: David Gibson <david@gibson.dropbear.id.au>

> ---
> Cc: Amit Singh Tomar <amit.tomar@freescale.com>
> Cc: Andrew Randrianasulu <randrianasulu@gmail.com>
> ---
>  default-configs/devices/ppc-softmmu.mak | 1 -
>  hw/ppc/Kconfig                          | 1 +
>  2 files changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/default-configs/devices/ppc-softmmu.mak b/default-configs/devices/ppc-softmmu.mak
> index c2d41198cde..5a7f99d1e45 100644
> --- a/default-configs/devices/ppc-softmmu.mak
> +++ b/default-configs/devices/ppc-softmmu.mak
> @@ -1,7 +1,6 @@
>  # Default configuration for ppc-softmmu
>  
>  # For embedded PPCs:
> -CONFIG_DS1338=y
>  CONFIG_E500=y
>  CONFIG_PPC405=y
>  CONFIG_PPC440=y
> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
> index 66e0b15d9ef..2e4c56eb770 100644
> --- a/hw/ppc/Kconfig
> +++ b/hw/ppc/Kconfig
> @@ -128,6 +128,7 @@ config E500
>      select SERIAL
>      select MPC_I2C
>      select FDT_PPC
> +    select DS1338
>  
>  config VIRTEX
>      bool

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [PATCH 03/10] hw/arm/Kconfig: Add missing dependency NPCM7XX -> SMBUS
  2021-05-13 16:38 ` [PATCH 03/10] hw/arm/Kconfig: Add missing dependency NPCM7XX -> SMBUS Philippe Mathieu-Daudé
  2021-05-13 16:42   ` Hao Wu
@ 2021-05-14  2:42   ` Bin Meng
  1 sibling, 0 replies; 34+ messages in thread
From: Bin Meng @ 2021-05-14  2:42 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Corey Minyard, Peter Maydell, qemu-devel@nongnu.org Developers,
	Doug Evans, Hao Wu, Tyrong Ting, open list:ARM TCG CPUs,
	Paolo Bonzini

On Fri, May 14, 2021 at 12:53 AM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
>
> The TYPE_NPCM7XX_SMBUS device model exposes an SMBus, but
> this isn't advertised with proper Kconfig symbol, leading
> to an early build failure when building NPCM7XX machines
> standalone:
>
>   The following clauses were found for AT24C
>
>       config AT24C depends on I2C
>       select AT24C if NPCM7XX
>
> Fix by adding SMBUS to NPCM7XX.
>
> Fixes: 94e77879395 ("hw/i2c: Implement NPCM7XX SMBus Module Single Mode")
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> Cc: Doug Evans<dje@google.com>
> Cc: Hao Wu <wuhaotsh@google.com>
> Cc: Tyrong Ting<kfting@nuvoton.com>
> Cc: Corey Minyard <cminyard@mvista.com>
> ---
>  hw/arm/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>


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

* Re: [PATCH 04/10] hw/arm/Kconfig: Remove unused DS1338 symbol from i.MX25 PDK Board
  2021-05-13 16:38 ` [PATCH 04/10] hw/arm/Kconfig: Remove unused DS1338 symbol from i.MX25 PDK Board Philippe Mathieu-Daudé
@ 2021-05-14  2:43   ` Bin Meng
  0 siblings, 0 replies; 34+ messages in thread
From: Bin Meng @ 2021-05-14  2:43 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Paolo Bonzini, open list:ARM TCG CPUs,
	qemu-devel@nongnu.org Developers, Peter Maydell

On Fri, May 14, 2021 at 12:56 AM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
>
> In commit c4f00daa5b3 ("imx25-pdk: create ds1338 for qtest inside
> the test") we removed the DS1338 device from the i.MX25 machine
> but forgot to remove it in the machine Kconfig definitions, do
> it now.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  hw/arm/Kconfig | 1 -
>  1 file changed, 1 deletion(-)
>

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>


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

* Re: [PATCH 05/10] hw/arm/Kconfig: Add missing SDHCI symbol to FSL_IMX25
  2021-05-13 16:38 ` [PATCH 05/10] hw/arm/Kconfig: Add missing SDHCI symbol to FSL_IMX25 Philippe Mathieu-Daudé
@ 2021-05-14  2:45   ` Bin Meng
  0 siblings, 0 replies; 34+ messages in thread
From: Bin Meng @ 2021-05-14  2:45 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Paolo Bonzini, open list:ARM TCG CPUs,
	qemu-devel@nongnu.org Developers, Guenter Roeck, Peter Maydell

On Fri, May 14, 2021 at 12:56 AM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
>
> Commit bfae1772c43 ("hw/arm/fsl-imx25: Wire up eSDHC controllers")
> added a dependency on the TYPE_IMX_USDHC model, but forgot to add
> the Kconfig selector. Fix that to solve when built stand-alone:
>
>   $ qemu-system-arm -M imx25-pdk
>   qemu-system-arm: missing object type 'imx-usdhc'
>   Aborted (core dumped)
>
> Fixes: bfae1772c43 ("hw/arm/fsl-imx25: Wire up eSDHC controllers")
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> Cc: Guenter Roeck <linux@roeck-us.net>
> ---
>  hw/arm/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>


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

* Re: [PATCH 06/10] hw/riscv/Kconfig: Add missing dependency MICROCHIP_PFSOC -> SERIAL
  2021-05-13 16:38 ` [PATCH 06/10] hw/riscv/Kconfig: Add missing dependency MICROCHIP_PFSOC -> SERIAL Philippe Mathieu-Daudé
@ 2021-05-14  2:47   ` Bin Meng
  2021-05-14  8:14     ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 34+ messages in thread
From: Bin Meng @ 2021-05-14  2:47 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: open list:RISC-V TCG CPUs, Bin Meng,
	qemu-devel@nongnu.org Developers, Alistair Francis,
	Paolo Bonzini, Palmer Dabbelt

Hi Philippe,

On Fri, May 14, 2021 at 12:57 AM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
>
> Commit a8fb0a500a6 ("hw/char: Add Microchip PolarFire SoC MMUART
> emulation") added a dependency on the SERIAL model, but forgot to
> add the Kconfig selector. Fix that to solve when built the
> MICROCHIP_PFSOC machine stand-alone:
>
>   /usr/bin/ld: libcommon.fa.p/hw_char_mchp_pfsoc_mmuart.c.o: in function `mchp_pfsoc_mmuart_create':
>   hw/char/mchp_pfsoc_mmuart.c:79: undefined reference to `serial_mm_init'
>
> Fixes: a8fb0a500a6 ("hw/char: Add Microchip PolarFire SoC MMUART emulation")
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> Cc: Bin Meng <bin.meng@windriver.com>
> Cc: Alistair Francis <alistair.francis@wdc.com>
> ---
>  hw/riscv/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/hw/riscv/Kconfig b/hw/riscv/Kconfig
> index 86957ec7b06..b72a248809e 100644
> --- a/hw/riscv/Kconfig
> +++ b/hw/riscv/Kconfig
> @@ -12,6 +12,7 @@ config MICROCHIP_PFSOC
>      select SIFIVE_CLINT
>      select SIFIVE_PDMA
>      select SIFIVE_PLIC
> +    select SERIAL

This dependency should be expressed by MCHP_PFSOC_MMUART in hw/char/Kconfig

>      select UNIMP
>
>  config OPENTITAN
> --

Regards,
Bin


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

* Re: [PATCH 07/10] hw/riscv/Kconfig: Restrict NUMA to Virt & Spike machines
  2021-05-13 16:38 ` [PATCH 07/10] hw/riscv/Kconfig: Restrict NUMA to Virt & Spike machines Philippe Mathieu-Daudé
@ 2021-05-14  2:49   ` Bin Meng
  0 siblings, 0 replies; 34+ messages in thread
From: Bin Meng @ 2021-05-14  2:49 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: open list:RISC-V TCG CPUs, Bin Meng,
	qemu-devel@nongnu.org Developers, Alistair Francis,
	Paolo Bonzini, Palmer Dabbelt

On Fri, May 14, 2021 at 12:58 AM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
>
> Only the Virt and Spike machines use NUMA. Add a RISCV_NUMA Kconfig
> symbol and only have these machines select it. Adapt the Meson file
> to only built it if required.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  hw/riscv/Kconfig     | 5 +++++
>  hw/riscv/meson.build | 2 +-
>  2 files changed, 6 insertions(+), 1 deletion(-)
>

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>


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

* Re: [PATCH 08/10] hw/ppc/Kconfig: Add missing dependency E500 -> DS1338 RTC
  2021-05-13 16:38 ` [PATCH 08/10] hw/ppc/Kconfig: Add missing dependency E500 -> DS1338 RTC Philippe Mathieu-Daudé
  2021-05-13 23:36   ` David Gibson
@ 2021-05-14  2:50   ` Bin Meng
  1 sibling, 0 replies; 34+ messages in thread
From: Bin Meng @ 2021-05-14  2:50 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel@nongnu.org Developers, Greg Kurz, Amit Singh Tomar,
	open list:PowerPC TCG CPUs, Paolo Bonzini, Andrew Randrianasulu,
	David Gibson

On Fri, May 14, 2021 at 1:02 AM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
>
> Commit 7abb479c7ab ("PPC: E500: Add FSL I2C controller and integrate
> RTC with it") added a global dependency on the DS1338 model, instead
> of a machine one (via Kconfig). This gives trouble when building
> standalone machines not exposing I2C bus:
>
>   The following clauses were found for DS1338
>
>       CONFIG_DS1338=y
>       config DS1338 depends on I2C
>
> Fix by selecting the DS1338 symbol in the single machine requiring
> it, the E500.
>
> Fixes: 7abb479c7ab ("PPC: E500: Add FSL I2C controller and integrate RTC with it")
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> Cc: Amit Singh Tomar <amit.tomar@freescale.com>
> Cc: Andrew Randrianasulu <randrianasulu@gmail.com>
> ---
>  default-configs/devices/ppc-softmmu.mak | 1 -
>  hw/ppc/Kconfig                          | 1 +
>  2 files changed, 1 insertion(+), 1 deletion(-)
>

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>


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

* Re: [PATCH 09/10] default-configs/devices: Remove implicy SEMIHOSTING config
  2021-05-13 16:38 ` [PATCH 09/10] default-configs/devices: Remove implicy SEMIHOSTING config Philippe Mathieu-Daudé
  2021-05-13 17:00   ` Philippe Mathieu-Daudé
@ 2021-05-14  2:53   ` Bin Meng
  2021-05-14  2:54     ` Bin Meng
  1 sibling, 1 reply; 34+ messages in thread
From: Bin Meng @ 2021-05-14  2:53 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Paolo Bonzini, qemu-devel@nongnu.org Developers

On Fri, May 14, 2021 at 12:58 AM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
>
> Cmmit 56b5170c87e ("semihosting: Move ARM semihosting code to
> shared directories"), added the ARM_COMPATIBLE_SEMIHOSTING symbol
> which selects SEMIHOSTING.
>
> Since the ARM/RISC-V targets select ARM_COMPATIBLE_SEMIHOSTING,
> they don't need to select SEMIHOSTING manually. Simplify.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  default-configs/devices/arm-softmmu.mak     | 1 -
>  default-configs/devices/riscv32-softmmu.mak | 1 -
>  default-configs/devices/riscv64-softmmu.mak | 1 -
>  3 files changed, 3 deletions(-)
>

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>


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

* Re: [PATCH 09/10] default-configs/devices: Remove implicy SEMIHOSTING config
  2021-05-14  2:53   ` Bin Meng
@ 2021-05-14  2:54     ` Bin Meng
  0 siblings, 0 replies; 34+ messages in thread
From: Bin Meng @ 2021-05-14  2:54 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Paolo Bonzini, qemu-devel@nongnu.org Developers

On Fri, May 14, 2021 at 10:53 AM Bin Meng <bmeng.cn@gmail.com> wrote:
>
> On Fri, May 14, 2021 at 12:58 AM Philippe Mathieu-Daudé
> <philmd@redhat.com> wrote:
> >
> > Cmmit 56b5170c87e ("semihosting: Move ARM semihosting code to

typo: Commit

> > shared directories"), added the ARM_COMPATIBLE_SEMIHOSTING symbol
> > which selects SEMIHOSTING.
> >
> > Since the ARM/RISC-V targets select ARM_COMPATIBLE_SEMIHOSTING,
> > they don't need to select SEMIHOSTING manually. Simplify.
> >
> > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> > ---
> >  default-configs/devices/arm-softmmu.mak     | 1 -
> >  default-configs/devices/riscv32-softmmu.mak | 1 -
> >  default-configs/devices/riscv64-softmmu.mak | 1 -
> >  3 files changed, 3 deletions(-)
> >
>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>


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

* Re: [PATCH 01/10] hw/mem/nvdimm: Use Kconfig 'imply' instead of 'depends on'
  2021-05-13 16:38 ` [PATCH 01/10] hw/mem/nvdimm: Use Kconfig 'imply' instead of 'depends on' Philippe Mathieu-Daudé
  2021-05-13 23:36   ` David Gibson
@ 2021-05-14  3:02   ` Bin Meng
  2021-05-15 17:33     ` Philippe Mathieu-Daudé
  1 sibling, 1 reply; 34+ messages in thread
From: Bin Meng @ 2021-05-14  3:02 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Peter Maydell, Eduardo Habkost, Michael S. Tsirkin,
	Richard Henderson, Greg Kurz, qemu-devel@nongnu.org Developers,
	open list:ARM TCG CPUs, open list:PowerPC TCG CPUs,
	Paolo Bonzini, Igor Mammedov, David Gibson

On Fri, May 14, 2021 at 12:53 AM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
>
> Per the kconfig.rst:
>
>   A device should be listed [...] ``imply`` if (depending on
>   the QEMU command line) the board may or  may not be started
>   without it.
>
> This is the case with the NVDIMM device (it is certainly possible
> to start a machine without NVDIMM) , so use the 'imply' weak
> reverse dependency to select the symbol.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  default-configs/devices/ppc64-softmmu.mak | 1 -
>  hw/arm/Kconfig                            | 1 +
>  hw/i386/Kconfig                           | 1 +
>  hw/mem/Kconfig                            | 2 --
>  hw/ppc/Kconfig                            | 1 +
>  5 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/default-configs/devices/ppc64-softmmu.mak b/default-configs/devices/ppc64-softmmu.mak
> index ae0841fa3a1..cca52665d90 100644
> --- a/default-configs/devices/ppc64-softmmu.mak
> +++ b/default-configs/devices/ppc64-softmmu.mak
> @@ -8,4 +8,3 @@ CONFIG_POWERNV=y
>
>  # For pSeries
>  CONFIG_PSERIES=y
> -CONFIG_NVDIMM=y

I think only removing this one makes sense. I fail to see any
difference of other changes in this patch.

> diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
> index b887f6a5b17..67723d9ea6a 100644
> --- a/hw/arm/Kconfig
> +++ b/hw/arm/Kconfig
> @@ -6,6 +6,7 @@ config ARM_VIRT
>      imply VFIO_PLATFORM
>      imply VFIO_XGMAC
>      imply TPM_TIS_SYSBUS
> +    imply NVDIMM
>      select ARM_GIC
>      select ACPI
>      select ARM_SMMUV3
> diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
> index 7f91f30877f..66838fa397b 100644
> --- a/hw/i386/Kconfig
> +++ b/hw/i386/Kconfig
> @@ -23,6 +23,7 @@ config PC
>      imply TPM_TIS_ISA
>      imply VGA_PCI
>      imply VIRTIO_VGA
> +    imply NVDIMM
>      select FDC
>      select I8259
>      select I8254
> diff --git a/hw/mem/Kconfig b/hw/mem/Kconfig
> index a0ef2cf648e..8b19fdc49f1 100644
> --- a/hw/mem/Kconfig
> +++ b/hw/mem/Kconfig
> @@ -7,6 +7,4 @@ config MEM_DEVICE
>
>  config NVDIMM
>      bool
> -    default y
> -    depends on (PC || PSERIES || ARM_VIRT)
>      select MEM_DEVICE
> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
> index e51e0e5e5ac..66e0b15d9ef 100644
> --- a/hw/ppc/Kconfig
> +++ b/hw/ppc/Kconfig
> @@ -3,6 +3,7 @@ config PSERIES
>      imply PCI_DEVICES
>      imply TEST_DEVICES
>      imply VIRTIO_VGA
> +    imply NVDIMM
>      select DIMM
>      select PCI
>      select SPAPR_VSCSI

Regards,
Bin


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

* Re: [PATCH 02/10] hw/ide/Kconfig: Add missing dependency PCI -> QDEV
  2021-05-13 16:38 ` [PATCH 02/10] hw/ide/Kconfig: Add missing dependency PCI -> QDEV Philippe Mathieu-Daudé
@ 2021-05-14  3:03   ` Bin Meng
  0 siblings, 0 replies; 34+ messages in thread
From: Bin Meng @ 2021-05-14  3:03 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Paolo Bonzini, John Snow, qemu-devel@nongnu.org Developers,
	open list:IDE

On Fri, May 14, 2021 at 12:56 AM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
>
> The pci_ide_create_devs() function is declared i hw/ide/qdev.c:
>
>  $ git grep ide_create_drive
>  hw/ide/pci.c:491:            ide_create_drive(d->bus + bus[i], unit[i], hd_table[i]);
>  hw/ide/qdev.c:127:IDEDevice *ide_create_drive(IDEBus *bus, int unit, DriveInfo *drive)
>  include/hw/ide/internal.h:653:IDEDevice *ide_create_drive(IDEBus *bus, int unit, DriveInfo *drive);
>
> Fix the correct symbol dependency to avoid build failure when
> deselecting some machines:
>
>   /usr/bin/ld: libcommon.fa.p/hw_ide_pci.c.o: in function `pci_ide_create_devs':
>   hw/ide/pci.c:491: undefined reference to `ide_create_drive'
>
> Fixes: 8f01b41e109 ("ide: express dependencies with Kconfig")
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  hw/ide/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>


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

* Re: [PATCH 06/10] hw/riscv/Kconfig: Add missing dependency MICROCHIP_PFSOC -> SERIAL
  2021-05-14  2:47   ` Bin Meng
@ 2021-05-14  8:14     ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-14  8:14 UTC (permalink / raw)
  To: Bin Meng
  Cc: open list:RISC-V TCG CPUs, Bin Meng,
	qemu-devel@nongnu.org Developers, Alistair Francis,
	Paolo Bonzini, Palmer Dabbelt

On 5/14/21 4:47 AM, Bin Meng wrote:
> Hi Philippe,
> 
> On Fri, May 14, 2021 at 12:57 AM Philippe Mathieu-Daudé
> <philmd@redhat.com> wrote:
>>
>> Commit a8fb0a500a6 ("hw/char: Add Microchip PolarFire SoC MMUART
>> emulation") added a dependency on the SERIAL model, but forgot to
>> add the Kconfig selector. Fix that to solve when built the
>> MICROCHIP_PFSOC machine stand-alone:
>>
>>   /usr/bin/ld: libcommon.fa.p/hw_char_mchp_pfsoc_mmuart.c.o: in function `mchp_pfsoc_mmuart_create':
>>   hw/char/mchp_pfsoc_mmuart.c:79: undefined reference to `serial_mm_init'
>>
>> Fixes: a8fb0a500a6 ("hw/char: Add Microchip PolarFire SoC MMUART emulation")
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> ---
>> Cc: Bin Meng <bin.meng@windriver.com>
>> Cc: Alistair Francis <alistair.francis@wdc.com>
>> ---
>>  hw/riscv/Kconfig | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/hw/riscv/Kconfig b/hw/riscv/Kconfig
>> index 86957ec7b06..b72a248809e 100644
>> --- a/hw/riscv/Kconfig
>> +++ b/hw/riscv/Kconfig
>> @@ -12,6 +12,7 @@ config MICROCHIP_PFSOC
>>      select SIFIVE_CLINT
>>      select SIFIVE_PDMA
>>      select SIFIVE_PLIC
>> +    select SERIAL
> 
> This dependency should be expressed by MCHP_PFSOC_MMUART in hw/char/Kconfig

Oh I missed this symbol, good catch!



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

* Re: [PATCH 01/10] hw/mem/nvdimm: Use Kconfig 'imply' instead of 'depends on'
  2021-05-14  3:02   ` Bin Meng
@ 2021-05-15 17:33     ` Philippe Mathieu-Daudé
  2021-05-16  0:50       ` Bin Meng
  0 siblings, 1 reply; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-15 17:33 UTC (permalink / raw)
  To: Bin Meng
  Cc: Peter Maydell, Eduardo Habkost, Michael S. Tsirkin,
	Richard Henderson, Greg Kurz, qemu-devel@nongnu.org Developers,
	open list:ARM TCG CPUs, open list:PowerPC TCG CPUs,
	Paolo Bonzini, Igor Mammedov, David Gibson

On 5/14/21 5:02 AM, Bin Meng wrote:
> On Fri, May 14, 2021 at 12:53 AM Philippe Mathieu-Daudé
> <philmd@redhat.com> wrote:
>>
>> Per the kconfig.rst:
>>
>>   A device should be listed [...] ``imply`` if (depending on
>>   the QEMU command line) the board may or  may not be started
>>   without it.
>>
>> This is the case with the NVDIMM device (it is certainly possible
>> to start a machine without NVDIMM) , so use the 'imply' weak
>> reverse dependency to select the symbol.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> ---
>>  default-configs/devices/ppc64-softmmu.mak | 1 -
>>  hw/arm/Kconfig                            | 1 +
>>  hw/i386/Kconfig                           | 1 +
>>  hw/mem/Kconfig                            | 2 --
>>  hw/ppc/Kconfig                            | 1 +
>>  5 files changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/default-configs/devices/ppc64-softmmu.mak b/default-configs/devices/ppc64-softmmu.mak
>> index ae0841fa3a1..cca52665d90 100644
>> --- a/default-configs/devices/ppc64-softmmu.mak
>> +++ b/default-configs/devices/ppc64-softmmu.mak
>> @@ -8,4 +8,3 @@ CONFIG_POWERNV=y
>>
>>  # For pSeries
>>  CONFIG_PSERIES=y
>> -CONFIG_NVDIMM=y
> 
> I think only removing this one makes sense. I fail to see any
> difference of other changes in this patch.

See below "depends on (PC || PSERIES || ARM_VIRT)"

> 
>> diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
>> index b887f6a5b17..67723d9ea6a 100644
>> --- a/hw/arm/Kconfig
>> +++ b/hw/arm/Kconfig
>> @@ -6,6 +6,7 @@ config ARM_VIRT
>>      imply VFIO_PLATFORM
>>      imply VFIO_XGMAC
>>      imply TPM_TIS_SYSBUS
>> +    imply NVDIMM
>>      select ARM_GIC
>>      select ACPI
>>      select ARM_SMMUV3
>> diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
>> index 7f91f30877f..66838fa397b 100644
>> --- a/hw/i386/Kconfig
>> +++ b/hw/i386/Kconfig
>> @@ -23,6 +23,7 @@ config PC
>>      imply TPM_TIS_ISA
>>      imply VGA_PCI
>>      imply VIRTIO_VGA
>> +    imply NVDIMM
>>      select FDC
>>      select I8259
>>      select I8254
>> diff --git a/hw/mem/Kconfig b/hw/mem/Kconfig
>> index a0ef2cf648e..8b19fdc49f1 100644
>> --- a/hw/mem/Kconfig
>> +++ b/hw/mem/Kconfig
>> @@ -7,6 +7,4 @@ config MEM_DEVICE
>>
>>  config NVDIMM
>>      bool
>> -    default y
>> -    depends on (PC || PSERIES || ARM_VIRT)
>>      select MEM_DEVICE
>> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
>> index e51e0e5e5ac..66e0b15d9ef 100644
>> --- a/hw/ppc/Kconfig
>> +++ b/hw/ppc/Kconfig
>> @@ -3,6 +3,7 @@ config PSERIES
>>      imply PCI_DEVICES
>>      imply TEST_DEVICES
>>      imply VIRTIO_VGA
>> +    imply NVDIMM
>>      select DIMM
>>      select PCI
>>      select SPAPR_VSCSI
> 
> Regards,
> Bin
> 



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

* Re: [PATCH 01/10] hw/mem/nvdimm: Use Kconfig 'imply' instead of 'depends on'
  2021-05-15 17:33     ` Philippe Mathieu-Daudé
@ 2021-05-16  0:50       ` Bin Meng
  2021-05-16 12:42         ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 34+ messages in thread
From: Bin Meng @ 2021-05-16  0:50 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Peter Maydell, Eduardo Habkost, Michael S. Tsirkin,
	Richard Henderson, Greg Kurz, qemu-devel@nongnu.org Developers,
	open list:ARM TCG CPUs, open list:PowerPC TCG CPUs,
	Paolo Bonzini, Igor Mammedov, David Gibson

On Sun, May 16, 2021 at 1:33 AM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
>
> On 5/14/21 5:02 AM, Bin Meng wrote:
> > On Fri, May 14, 2021 at 12:53 AM Philippe Mathieu-Daudé
> > <philmd@redhat.com> wrote:
> >>
> >> Per the kconfig.rst:
> >>
> >>   A device should be listed [...] ``imply`` if (depending on
> >>   the QEMU command line) the board may or  may not be started
> >>   without it.
> >>
> >> This is the case with the NVDIMM device (it is certainly possible
> >> to start a machine without NVDIMM) , so use the 'imply' weak
> >> reverse dependency to select the symbol.
> >>
> >> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> >> ---
> >>  default-configs/devices/ppc64-softmmu.mak | 1 -
> >>  hw/arm/Kconfig                            | 1 +
> >>  hw/i386/Kconfig                           | 1 +
> >>  hw/mem/Kconfig                            | 2 --
> >>  hw/ppc/Kconfig                            | 1 +
> >>  5 files changed, 3 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/default-configs/devices/ppc64-softmmu.mak b/default-configs/devices/ppc64-softmmu.mak
> >> index ae0841fa3a1..cca52665d90 100644
> >> --- a/default-configs/devices/ppc64-softmmu.mak
> >> +++ b/default-configs/devices/ppc64-softmmu.mak
> >> @@ -8,4 +8,3 @@ CONFIG_POWERNV=y
> >>
> >>  # For pSeries
> >>  CONFIG_PSERIES=y
> >> -CONFIG_NVDIMM=y
> >
> > I think only removing this one makes sense. I fail to see any
> > difference of other changes in this patch.
>
> See below "depends on (PC || PSERIES || ARM_VIRT)"

Yes, I saw that. This change does not make any difference compared to
"depends on"

>
> >
> >> diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
> >> index b887f6a5b17..67723d9ea6a 100644
> >> --- a/hw/arm/Kconfig
> >> +++ b/hw/arm/Kconfig
> >> @@ -6,6 +6,7 @@ config ARM_VIRT
> >>      imply VFIO_PLATFORM
> >>      imply VFIO_XGMAC
> >>      imply TPM_TIS_SYSBUS
> >> +    imply NVDIMM
> >>      select ARM_GIC
> >>      select ACPI
> >>      select ARM_SMMUV3
> >> diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
> >> index 7f91f30877f..66838fa397b 100644
> >> --- a/hw/i386/Kconfig
> >> +++ b/hw/i386/Kconfig
> >> @@ -23,6 +23,7 @@ config PC
> >>      imply TPM_TIS_ISA
> >>      imply VGA_PCI
> >>      imply VIRTIO_VGA
> >> +    imply NVDIMM
> >>      select FDC
> >>      select I8259
> >>      select I8254
> >> diff --git a/hw/mem/Kconfig b/hw/mem/Kconfig
> >> index a0ef2cf648e..8b19fdc49f1 100644
> >> --- a/hw/mem/Kconfig
> >> +++ b/hw/mem/Kconfig
> >> @@ -7,6 +7,4 @@ config MEM_DEVICE
> >>
> >>  config NVDIMM
> >>      bool
> >> -    default y
> >> -    depends on (PC || PSERIES || ARM_VIRT)
> >>      select MEM_DEVICE
> >> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
> >> index e51e0e5e5ac..66e0b15d9ef 100644
> >> --- a/hw/ppc/Kconfig
> >> +++ b/hw/ppc/Kconfig
> >> @@ -3,6 +3,7 @@ config PSERIES
> >>      imply PCI_DEVICES
> >>      imply TEST_DEVICES
> >>      imply VIRTIO_VGA
> >> +    imply NVDIMM
> >>      select DIMM
> >>      select PCI
> >>      select SPAPR_VSCSI

Regards,
Bin


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

* Re: [PATCH 01/10] hw/mem/nvdimm: Use Kconfig 'imply' instead of 'depends on'
  2021-05-16  0:50       ` Bin Meng
@ 2021-05-16 12:42         ` Philippe Mathieu-Daudé
  2021-05-16 14:15           ` Bin Meng
  0 siblings, 1 reply; 34+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-16 12:42 UTC (permalink / raw)
  To: Bin Meng
  Cc: Peter Maydell, Eduardo Habkost, Michael S. Tsirkin,
	Richard Henderson, Greg Kurz, qemu-devel@nongnu.org Developers,
	open list:ARM TCG CPUs, open list:PowerPC TCG CPUs,
	Paolo Bonzini, Igor Mammedov, David Gibson

On 5/16/21 2:50 AM, Bin Meng wrote:
> On Sun, May 16, 2021 at 1:33 AM Philippe Mathieu-Daudé
> <philmd@redhat.com> wrote:
>>
>> On 5/14/21 5:02 AM, Bin Meng wrote:
>>> On Fri, May 14, 2021 at 12:53 AM Philippe Mathieu-Daudé
>>> <philmd@redhat.com> wrote:
>>>>
>>>> Per the kconfig.rst:
>>>>
>>>>   A device should be listed [...] ``imply`` if (depending on
>>>>   the QEMU command line) the board may or  may not be started
>>>>   without it.
>>>>
>>>> This is the case with the NVDIMM device (it is certainly possible
>>>> to start a machine without NVDIMM) , so use the 'imply' weak
>>>> reverse dependency to select the symbol.
>>>>
>>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>>> ---
>>>>  default-configs/devices/ppc64-softmmu.mak | 1 -
>>>>  hw/arm/Kconfig                            | 1 +
>>>>  hw/i386/Kconfig                           | 1 +
>>>>  hw/mem/Kconfig                            | 2 --
>>>>  hw/ppc/Kconfig                            | 1 +
>>>>  5 files changed, 3 insertions(+), 3 deletions(-)
>>>>
>>>> diff --git a/default-configs/devices/ppc64-softmmu.mak b/default-configs/devices/ppc64-softmmu.mak
>>>> index ae0841fa3a1..cca52665d90 100644
>>>> --- a/default-configs/devices/ppc64-softmmu.mak
>>>> +++ b/default-configs/devices/ppc64-softmmu.mak
>>>> @@ -8,4 +8,3 @@ CONFIG_POWERNV=y
>>>>
>>>>  # For pSeries
>>>>  CONFIG_PSERIES=y
>>>> -CONFIG_NVDIMM=y
>>>
>>> I think only removing this one makes sense. I fail to see any
>>> difference of other changes in this patch.
>>
>> See below "depends on (PC || PSERIES || ARM_VIRT)"
> 
> Yes, I saw that. This change does not make any difference compared to
> "depends on"

No, there is no logical change indeed. Simply IIUC the documentation
"imply" is the preferred form.

> 
>>
>>>
>>>> diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
>>>> index b887f6a5b17..67723d9ea6a 100644
>>>> --- a/hw/arm/Kconfig
>>>> +++ b/hw/arm/Kconfig
>>>> @@ -6,6 +6,7 @@ config ARM_VIRT
>>>>      imply VFIO_PLATFORM
>>>>      imply VFIO_XGMAC
>>>>      imply TPM_TIS_SYSBUS
>>>> +    imply NVDIMM
>>>>      select ARM_GIC
>>>>      select ACPI
>>>>      select ARM_SMMUV3
>>>> diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
>>>> index 7f91f30877f..66838fa397b 100644
>>>> --- a/hw/i386/Kconfig
>>>> +++ b/hw/i386/Kconfig
>>>> @@ -23,6 +23,7 @@ config PC
>>>>      imply TPM_TIS_ISA
>>>>      imply VGA_PCI
>>>>      imply VIRTIO_VGA
>>>> +    imply NVDIMM
>>>>      select FDC
>>>>      select I8259
>>>>      select I8254
>>>> diff --git a/hw/mem/Kconfig b/hw/mem/Kconfig
>>>> index a0ef2cf648e..8b19fdc49f1 100644
>>>> --- a/hw/mem/Kconfig
>>>> +++ b/hw/mem/Kconfig
>>>> @@ -7,6 +7,4 @@ config MEM_DEVICE
>>>>
>>>>  config NVDIMM
>>>>      bool
>>>> -    default y
>>>> -    depends on (PC || PSERIES || ARM_VIRT)
>>>>      select MEM_DEVICE
>>>> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
>>>> index e51e0e5e5ac..66e0b15d9ef 100644
>>>> --- a/hw/ppc/Kconfig
>>>> +++ b/hw/ppc/Kconfig
>>>> @@ -3,6 +3,7 @@ config PSERIES
>>>>      imply PCI_DEVICES
>>>>      imply TEST_DEVICES
>>>>      imply VIRTIO_VGA
>>>> +    imply NVDIMM
>>>>      select DIMM
>>>>      select PCI
>>>>      select SPAPR_VSCSI
> 
> Regards,
> Bin
> 



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

* Re: [PATCH 01/10] hw/mem/nvdimm: Use Kconfig 'imply' instead of 'depends on'
  2021-05-16 12:42         ` Philippe Mathieu-Daudé
@ 2021-05-16 14:15           ` Bin Meng
  0 siblings, 0 replies; 34+ messages in thread
From: Bin Meng @ 2021-05-16 14:15 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Peter Maydell, Eduardo Habkost, Michael S. Tsirkin,
	Richard Henderson, Greg Kurz, qemu-devel@nongnu.org Developers,
	open list:ARM TCG CPUs, open list:PowerPC TCG CPUs,
	Paolo Bonzini, Igor Mammedov, David Gibson

On Sun, May 16, 2021 at 8:42 PM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
>
> On 5/16/21 2:50 AM, Bin Meng wrote:
> > On Sun, May 16, 2021 at 1:33 AM Philippe Mathieu-Daudé
> > <philmd@redhat.com> wrote:
> >>
> >> On 5/14/21 5:02 AM, Bin Meng wrote:
> >>> On Fri, May 14, 2021 at 12:53 AM Philippe Mathieu-Daudé
> >>> <philmd@redhat.com> wrote:
> >>>>
> >>>> Per the kconfig.rst:
> >>>>
> >>>>   A device should be listed [...] ``imply`` if (depending on
> >>>>   the QEMU command line) the board may or  may not be started
> >>>>   without it.
> >>>>
> >>>> This is the case with the NVDIMM device (it is certainly possible
> >>>> to start a machine without NVDIMM) , so use the 'imply' weak
> >>>> reverse dependency to select the symbol.
> >>>>
> >>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> >>>> ---
> >>>>  default-configs/devices/ppc64-softmmu.mak | 1 -
> >>>>  hw/arm/Kconfig                            | 1 +
> >>>>  hw/i386/Kconfig                           | 1 +
> >>>>  hw/mem/Kconfig                            | 2 --
> >>>>  hw/ppc/Kconfig                            | 1 +
> >>>>  5 files changed, 3 insertions(+), 3 deletions(-)
> >>>>
> >>>> diff --git a/default-configs/devices/ppc64-softmmu.mak b/default-configs/devices/ppc64-softmmu.mak
> >>>> index ae0841fa3a1..cca52665d90 100644
> >>>> --- a/default-configs/devices/ppc64-softmmu.mak
> >>>> +++ b/default-configs/devices/ppc64-softmmu.mak
> >>>> @@ -8,4 +8,3 @@ CONFIG_POWERNV=y
> >>>>
> >>>>  # For pSeries
> >>>>  CONFIG_PSERIES=y
> >>>> -CONFIG_NVDIMM=y
> >>>
> >>> I think only removing this one makes sense. I fail to see any
> >>> difference of other changes in this patch.
> >>
> >> See below "depends on (PC || PSERIES || ARM_VIRT)"
> >
> > Yes, I saw that. This change does not make any difference compared to
> > "depends on"
>
> No, there is no logical change indeed. Simply IIUC the documentation
> "imply" is the preferred form.

Okay, per the documentation "imply" is the preferred way over "default
y && depends on".

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>


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

end of thread, other threads:[~2021-05-16 14:25 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-13 16:38 [PATCH 00/10] hw: Various Kconfig fixes Philippe Mathieu-Daudé
2021-05-13 16:38 ` [PATCH 01/10] hw/mem/nvdimm: Use Kconfig 'imply' instead of 'depends on' Philippe Mathieu-Daudé
2021-05-13 23:36   ` David Gibson
2021-05-14  3:02   ` Bin Meng
2021-05-15 17:33     ` Philippe Mathieu-Daudé
2021-05-16  0:50       ` Bin Meng
2021-05-16 12:42         ` Philippe Mathieu-Daudé
2021-05-16 14:15           ` Bin Meng
2021-05-13 16:38 ` [PATCH 02/10] hw/ide/Kconfig: Add missing dependency PCI -> QDEV Philippe Mathieu-Daudé
2021-05-14  3:03   ` Bin Meng
2021-05-13 16:38 ` [PATCH 03/10] hw/arm/Kconfig: Add missing dependency NPCM7XX -> SMBUS Philippe Mathieu-Daudé
2021-05-13 16:42   ` Hao Wu
2021-05-14  2:42   ` Bin Meng
2021-05-13 16:38 ` [PATCH 04/10] hw/arm/Kconfig: Remove unused DS1338 symbol from i.MX25 PDK Board Philippe Mathieu-Daudé
2021-05-14  2:43   ` Bin Meng
2021-05-13 16:38 ` [PATCH 05/10] hw/arm/Kconfig: Add missing SDHCI symbol to FSL_IMX25 Philippe Mathieu-Daudé
2021-05-14  2:45   ` Bin Meng
2021-05-13 16:38 ` [PATCH 06/10] hw/riscv/Kconfig: Add missing dependency MICROCHIP_PFSOC -> SERIAL Philippe Mathieu-Daudé
2021-05-14  2:47   ` Bin Meng
2021-05-14  8:14     ` Philippe Mathieu-Daudé
2021-05-13 16:38 ` [PATCH 07/10] hw/riscv/Kconfig: Restrict NUMA to Virt & Spike machines Philippe Mathieu-Daudé
2021-05-14  2:49   ` Bin Meng
2021-05-13 16:38 ` [PATCH 08/10] hw/ppc/Kconfig: Add missing dependency E500 -> DS1338 RTC Philippe Mathieu-Daudé
2021-05-13 23:36   ` David Gibson
2021-05-14  2:50   ` Bin Meng
2021-05-13 16:38 ` [PATCH 09/10] default-configs/devices: Remove implicy SEMIHOSTING config Philippe Mathieu-Daudé
2021-05-13 17:00   ` Philippe Mathieu-Daudé
2021-05-14  2:53   ` Bin Meng
2021-05-14  2:54     ` Bin Meng
2021-05-13 16:38 ` [PATCH 10/10] default-configs/devices: Clarify ARM_COMPATIBLE_SEMIHOSTING is required Philippe Mathieu-Daudé
2021-05-13 17:00   ` Philippe Mathieu-Daudé
2021-05-13 17:58   ` Paolo Bonzini
2021-05-13 18:16     ` Philippe Mathieu-Daudé
2021-05-13 17:59 ` [PATCH 00/10] hw: Various Kconfig fixes Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).