All of lore.kernel.org
 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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   ` Philippe Mathieu-Daudé
                   ` (5 subsequent siblings)
  10 siblings, 1 reply; 39+ 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] 39+ 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é
@ 2021-05-13 16:38   ` Philippe Mathieu-Daudé
  2021-05-13 16:38 ` [PATCH 02/10] hw/ide/Kconfig: Add missing dependency PCI -> QDEV Philippe Mathieu-Daudé
                     ` (9 subsequent siblings)
  10 siblings, 0 replies; 39+ 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] 39+ messages in thread

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

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] 39+ 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é
@ 2021-05-13 16:38   ` Philippe Mathieu-Daudé
  2021-05-13 16:38 ` [PATCH 02/10] hw/ide/Kconfig: Add missing dependency PCI -> QDEV Philippe Mathieu-Daudé
                     ` (9 subsequent siblings)
  10 siblings, 0 replies; 39+ 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] 39+ messages in thread

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

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] 39+ 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   ` 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ messages in thread

* Re: [PATCH 06/10] hw/riscv/Kconfig: Add missing dependency MICROCHIP_PFSOC -> SERIAL
  2021-05-13 16:38   ` Philippe Mathieu-Daudé
@ 2021-05-14  2:47     ` Bin Meng
  -1 siblings, 0 replies; 39+ 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] 39+ messages in thread

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

* Re: [PATCH 07/10] hw/riscv/Kconfig: Restrict NUMA to Virt & Spike machines
  2021-05-13 16:38   ` Philippe Mathieu-Daudé
@ 2021-05-14  2:49     ` Bin Meng
  -1 siblings, 0 replies; 39+ 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] 39+ messages in thread

* Re: [PATCH 07/10] hw/riscv/Kconfig: Restrict NUMA to Virt & Spike machines
@ 2021-05-14  2:49     ` Bin Meng
  0 siblings, 0 replies; 39+ messages in thread
From: Bin Meng @ 2021-05-14  2:49 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel@nongnu.org Developers, open list:RISC-V TCG CPUs,
	Bin Meng, 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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é
  -1 siblings, 0 replies; 39+ 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] 39+ messages in thread

* Re: [PATCH 06/10] hw/riscv/Kconfig: Add missing dependency MICROCHIP_PFSOC -> SERIAL
@ 2021-05-14  8:14       ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 39+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-05-14  8:14 UTC (permalink / raw)
  To: Bin Meng
  Cc: qemu-devel@nongnu.org Developers, open list:RISC-V TCG CPUs,
	Bin Meng, 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ 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; 39+ 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] 39+ messages in thread

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

Thread overview: 39+ 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-13 16:38   ` Philippe Mathieu-Daudé
2021-05-14  2:47   ` Bin Meng
2021-05-14  2:47     ` Bin Meng
2021-05-14  8:14     ` Philippe Mathieu-Daudé
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-13 16:38   ` Philippe Mathieu-Daudé
2021-05-14  2:49   ` Bin Meng
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 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.