All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/14] hw: Fix various --without-default-devices issues
@ 2019-12-31 18:32 Philippe Mathieu-Daudé
  2019-12-31 18:32 ` [PATCH 01/14] hw/usb/redirect: Do not link 'usb-redir' device when USB not enabled Philippe Mathieu-Daudé
                   ` (14 more replies)
  0 siblings, 15 replies; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-12-31 18:32 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, Artyom Tarasenko, Aleksandar Markovic,
	qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo, Richard Henderson,
	Philippe Mathieu-Daudé,
	Aurelien Jarno, David Gibson

Various fixes when configured with --without-default-devices
and building each machine individually.
Adding the corresponding CI tests is out of the scope of this
series.

This series is pushed on top of "hw/i386: Allow building
machines without IOMMU" [*] here:
https://gitlab.com/philmd/qemu/commits/kconfig_misc_fixes

Happy new year!

[*] https://lists.gnu.org/archive/html/qemu-devel/2019-12/msg05230.html

Philippe Mathieu-Daudé (14):
  hw/usb/redirect: Do not link 'usb-redir' device when USB not enabled
  hw/intc/i8259: Fix Kconfig dependency on ISA bus
  hw/i386/Kconfig: Let the MicroVM machine select the SERIAL_ISA config
  hw/i386: Restrict fw_cfg to the PC machines
  hw/i2c/Kconfig: Add an entry for the SMBus
  hw/ppc/Kconfig: Restrict the MPC I2C controller to e500-based
    platforms
  hw/ppc/Kconfig: Let the Sam460ex board use the PowerPC 405 devices
  hw/ppc/Kconfig: Let the Xilinx Virtex5 ML507 use the PPC-440 devices
  hw/ppc/Makefile: Simplify the sPAPR PCI objects rule
  hw/ppc/Kconfig: Only select fw_cfg with machines using OpenBIOS
  hw/ppc/Kconfig: Only select FDT helper for machines using it
  hw/nvram/Kconfig: Add an entry for the NMC93xx EEPROM
  hw/nvram/Kconfig: Restrict CHRP NVRAM to machines using OpenBIOS or
    SLOF
  hw/intc/Kconfig: Let APIC select IOAPIC

 default-configs/mips-softmmu-common.mak |  1 +
 default-configs/ppc-softmmu.mak         |  1 -
 hw/i2c/Kconfig                          |  8 ++++++--
 hw/i2c/Makefile.objs                    |  3 ++-
 hw/i386/Kconfig                         |  2 +-
 hw/i386/Makefile.objs                   |  2 +-
 hw/intc/Kconfig                         |  2 ++
 hw/net/Kconfig                          |  2 ++
 hw/nvram/Kconfig                        |  8 ++++++++
 hw/nvram/Makefile.objs                  |  4 ++--
 hw/ppc/Kconfig                          | 20 ++++++++++++++++++++
 hw/ppc/Makefile.objs                    |  9 ++++-----
 hw/scsi/Kconfig                         |  1 +
 hw/sparc/Kconfig                        |  1 +
 hw/sparc64/Kconfig                      |  1 +
 hw/usb/Makefile.objs                    |  2 ++
 16 files changed, 54 insertions(+), 13 deletions(-)

-- 
2.21.0



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

* [PATCH 01/14] hw/usb/redirect: Do not link 'usb-redir' device when USB not enabled
  2019-12-31 18:32 [PATCH 00/14] hw: Fix various --without-default-devices issues Philippe Mathieu-Daudé
@ 2019-12-31 18:32 ` Philippe Mathieu-Daudé
  2020-01-07 12:24   ` Thomas Huth
  2019-12-31 18:32 ` [PATCH 02/14] hw/intc/i8259: Fix Kconfig dependency on ISA bus Philippe Mathieu-Daudé
                   ` (13 subsequent siblings)
  14 siblings, 1 reply; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-12-31 18:32 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, Artyom Tarasenko, Aleksandar Markovic,
	qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo, Richard Henderson,
	Philippe Mathieu-Daudé,
	Aurelien Jarno, David Gibson

The 'usb-redir' device requires the USB core code to work. Do not
link it when there is no USB support. This fixes:

  $ qemu-system-tricore -M tricore_testboard -device usb-redir
  qemu-system-tricore: -device usb-redir: No 'usb-bus' bus found for device 'usb-redir'

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/usb/Makefile.objs | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/hw/usb/Makefile.objs b/hw/usb/Makefile.objs
index 0ab20f9d73..0052d49ce1 100644
--- a/hw/usb/Makefile.objs
+++ b/hw/usb/Makefile.objs
@@ -39,9 +39,11 @@ common-obj-$(CONFIG_USB_STORAGE_MTP)  += dev-mtp.o
 endif
 
 # usb redirection
+ifeq ($(CONFIG_USB),y)
 common-obj-$(CONFIG_USB_REDIR) += redirect.o quirks.o
 redirect.o-cflags = $(USB_REDIR_CFLAGS)
 redirect.o-libs = $(USB_REDIR_LIBS)
+endif
 
 # usb pass-through
 ifeq ($(CONFIG_USB_LIBUSB)$(CONFIG_USB),yy)
-- 
2.21.0



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

* [PATCH 02/14] hw/intc/i8259: Fix Kconfig dependency on ISA bus
  2019-12-31 18:32 [PATCH 00/14] hw: Fix various --without-default-devices issues Philippe Mathieu-Daudé
  2019-12-31 18:32 ` [PATCH 01/14] hw/usb/redirect: Do not link 'usb-redir' device when USB not enabled Philippe Mathieu-Daudé
@ 2019-12-31 18:32 ` Philippe Mathieu-Daudé
  2020-01-07 12:28   ` Thomas Huth
  2019-12-31 18:32 ` [PATCH 03/14] hw/i386/Kconfig: Let the MicroVM machine select the SERIAL_ISA config Philippe Mathieu-Daudé
                   ` (12 subsequent siblings)
  14 siblings, 1 reply; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-12-31 18:32 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, Artyom Tarasenko, Aleksandar Markovic,
	qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo, Richard Henderson,
	Philippe Mathieu-Daudé,
	Aurelien Jarno, David Gibson

The 8259 Interrupt Controller sits on a ISA bus.
Add the missing dependency to fix:

    LINK    x86_64-softmmu/qemu-system-x86_64
  /usr/bin/ld: ../hw/intc/i8259_common.o: in function `pic_common_realize':
  hw/intc/i8259_common.c:84: undefined reference to `isa_register_ioport'
  /usr/bin/ld: hw/intc/i8259_common.c:86: undefined reference to `isa_register_ioport'
  /usr/bin/ld: ../hw/intc/i8259_common.o: in function `i8259_init_chip':
  hw/intc/i8259_common.c:97: undefined reference to `isa_create'
  collect2: error: ld returned 1 exit status
  make[1]: *** [Makefile:206: qemu-system-x86_64] Error 1

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
Cc: "Michael S. Tsirkin" <mst@redhat.com> (supporter:PC Chipset)
---
 hw/intc/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig
index 10a680b53a..a189d6fedd 100644
--- a/hw/intc/Kconfig
+++ b/hw/intc/Kconfig
@@ -3,6 +3,7 @@ config HEATHROW_PIC
 
 config I8259
     bool
+    select ISA_BUS
 
 config PL190
     bool
-- 
2.21.0



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

* [PATCH 03/14] hw/i386/Kconfig: Let the MicroVM machine select the SERIAL_ISA config
  2019-12-31 18:32 [PATCH 00/14] hw: Fix various --without-default-devices issues Philippe Mathieu-Daudé
  2019-12-31 18:32 ` [PATCH 01/14] hw/usb/redirect: Do not link 'usb-redir' device when USB not enabled Philippe Mathieu-Daudé
  2019-12-31 18:32 ` [PATCH 02/14] hw/intc/i8259: Fix Kconfig dependency on ISA bus Philippe Mathieu-Daudé
@ 2019-12-31 18:32 ` Philippe Mathieu-Daudé
  2020-01-07 10:00   ` Paolo Bonzini
  2019-12-31 18:32 ` [PATCH 04/14] hw/i386: Restrict fw_cfg to the PC machines Philippe Mathieu-Daudé
                   ` (11 subsequent siblings)
  14 siblings, 1 reply; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-12-31 18:32 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Sergio Lopez, Michael S. Tsirkin,
	Jason Wang, Mark Cave-Ayland, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo,
	Richard Henderson, Philippe Mathieu-Daudé,
	Aurelien Jarno, David Gibson

When configured with --without-default-devices, the build fails:

     LINK    x86_64-softmmu/qemu-system-x86_64
  /usr/bin/ld: hw/i386/microvm.o: in function `microvm_devices_init':
  hw/i386/microvm.c:157: undefined reference to `serial_hds_isa_init'
  collect2: error: ld returned 1 exit status
  make[1]: *** [Makefile:206: qemu-system-x86_64] Error 1
  make: *** [Makefile:483: x86_64-softmmu/all] Error 2

While the MicroVM machine only uses the ISA serial port when the
MICROVM_MACHINE_ISA_SERIAL property is set, it has to be linked
with it. Replace the 'imply' Kconfig rule by a 'select'.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
Cc: Sergio Lopez <slp@redhat.com>
---
 hw/i386/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
index e428322a2c..cbcfb1ce81 100644
--- a/hw/i386/Kconfig
+++ b/hw/i386/Kconfig
@@ -96,7 +96,7 @@ config Q35
 
 config MICROVM
     bool
-    imply SERIAL_ISA
+    select SERIAL_ISA
     select ISA_BUS
     select APIC
     select IOAPIC
-- 
2.21.0



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

* [PATCH 04/14] hw/i386: Restrict fw_cfg to the PC machines
  2019-12-31 18:32 [PATCH 00/14] hw: Fix various --without-default-devices issues Philippe Mathieu-Daudé
                   ` (2 preceding siblings ...)
  2019-12-31 18:32 ` [PATCH 03/14] hw/i386/Kconfig: Let the MicroVM machine select the SERIAL_ISA config Philippe Mathieu-Daudé
@ 2019-12-31 18:32 ` Philippe Mathieu-Daudé
  2020-01-07 10:00   ` Paolo Bonzini
  2020-01-07 10:01   ` Paolo Bonzini
  2019-12-31 18:32 ` [PATCH 05/14] hw/i2c/Kconfig: Add an entry for the SMBus Philippe Mathieu-Daudé
                   ` (10 subsequent siblings)
  14 siblings, 2 replies; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-12-31 18:32 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Sergio Lopez, Michael S. Tsirkin,
	Jason Wang, Mark Cave-Ayland, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo,
	Richard Henderson, Philippe Mathieu-Daudé,
	Aurelien Jarno, David Gibson

Only the PC-based machines use the fw_cfg device. In particular,
the MicroVM machine does not use it. Only compile/link it when
machines require it.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
Cc: Sergio Lopez <slp@redhat.com>
---
 hw/i386/Makefile.objs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
index 6ebb6d0cf0..48f2693546 100644
--- a/hw/i386/Makefile.objs
+++ b/hw/i386/Makefile.objs
@@ -5,7 +5,7 @@ obj-$(CONFIG_PC) += pc.o pc_sysfw.o
 obj-$(CONFIG_I440FX) += pc_piix.o
 obj-$(CONFIG_Q35) += pc_q35.o
 obj-$(CONFIG_MICROVM) += microvm.o
-obj-y += fw_cfg.o
+obj-$(CONFIG_PC) += fw_cfg.o
 obj-$(CONFIG_X86_IOMMU) += x86-iommu.o
 obj-$(CONFIG_VTD) += intel_iommu.o
 obj-$(CONFIG_AMD_IOMMU) += amd_iommu.o
-- 
2.21.0



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

* [PATCH 05/14] hw/i2c/Kconfig: Add an entry for the SMBus
  2019-12-31 18:32 [PATCH 00/14] hw: Fix various --without-default-devices issues Philippe Mathieu-Daudé
                   ` (3 preceding siblings ...)
  2019-12-31 18:32 ` [PATCH 04/14] hw/i386: Restrict fw_cfg to the PC machines Philippe Mathieu-Daudé
@ 2019-12-31 18:32 ` Philippe Mathieu-Daudé
  2019-12-31 19:16   ` Corey Minyard
  2019-12-31 18:32 ` [PATCH 06/14] hw/ppc/Kconfig: Restrict the MPC I2C controller to e500-based platforms Philippe Mathieu-Daudé
                   ` (9 subsequent siblings)
  14 siblings, 1 reply; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-12-31 18:32 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: Fam Zheng, Corey Minyard, Eduardo Habkost, Michael S. Tsirkin,
	Jason Wang, Mark Cave-Ayland, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo,
	Richard Henderson, Philippe Mathieu-Daudé,
	Aurelien Jarno, David Gibson

The System Management Bus is more or less a derivative of the I2C
bus, thus the Kconfig entry depends of I2C.
Not all boards providing an I2C bus support SMBus.
Use two different Kconfig entries to be able to select I2C without
selecting SMBus.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
Cc: Corey Minyard <cminyard@mvista.com>
---
 default-configs/mips-softmmu-common.mak | 1 +
 hw/i2c/Kconfig                          | 8 ++++++--
 hw/i2c/Makefile.objs                    | 3 ++-
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/default-configs/mips-softmmu-common.mak b/default-configs/mips-softmmu-common.mak
index da29c6c0b2..ac76d944b8 100644
--- a/default-configs/mips-softmmu-common.mak
+++ b/default-configs/mips-softmmu-common.mak
@@ -37,6 +37,7 @@ CONFIG_R4K=y
 CONFIG_MALTA=y
 CONFIG_PCNET_PCI=y
 CONFIG_MIPSSIM=y
+CONFIG_SMBUS=y
 CONFIG_ACPI_SMBUS=y
 CONFIG_SMBUS_EEPROM=y
 CONFIG_TEST_DEVICES=y
diff --git a/hw/i2c/Kconfig b/hw/i2c/Kconfig
index 2bbd395813..09642a6dcb 100644
--- a/hw/i2c/Kconfig
+++ b/hw/i2c/Kconfig
@@ -1,9 +1,13 @@
 config I2C
     bool
 
+config SMBUS
+    bool
+    select I2C
+
 config SMBUS_EEPROM
     bool
-    depends on I2C
+    select SMBUS
 
 config VERSATILE_I2C
     bool
@@ -11,7 +15,7 @@ config VERSATILE_I2C
 
 config ACPI_SMBUS
     bool
-    select I2C
+    select SMBUS
 
 config BITBANG_I2C
     bool
diff --git a/hw/i2c/Makefile.objs b/hw/i2c/Makefile.objs
index d7073a401f..cbbc8507a3 100644
--- a/hw/i2c/Makefile.objs
+++ b/hw/i2c/Makefile.objs
@@ -1,4 +1,5 @@
-common-obj-$(CONFIG_I2C) += core.o smbus_slave.o smbus_master.o
+common-obj-$(CONFIG_I2C) += core.o
+common-obj-$(CONFIG_SMBUS) += smbus_slave.o smbus_master.o
 common-obj-$(CONFIG_SMBUS_EEPROM) += smbus_eeprom.o
 common-obj-$(CONFIG_VERSATILE_I2C) += versatile_i2c.o
 common-obj-$(CONFIG_ACPI_X86_ICH) += smbus_ich9.o
-- 
2.21.0



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

* [PATCH 06/14] hw/ppc/Kconfig: Restrict the MPC I2C controller to e500-based platforms
  2019-12-31 18:32 [PATCH 00/14] hw: Fix various --without-default-devices issues Philippe Mathieu-Daudé
                   ` (4 preceding siblings ...)
  2019-12-31 18:32 ` [PATCH 05/14] hw/i2c/Kconfig: Add an entry for the SMBus Philippe Mathieu-Daudé
@ 2019-12-31 18:32 ` Philippe Mathieu-Daudé
  2020-01-02  2:03   ` David Gibson
  2019-12-31 18:32 ` [PATCH 07/14] hw/ppc/Kconfig: Let the Sam460ex board use the PowerPC 405 devices Philippe Mathieu-Daudé
                   ` (8 subsequent siblings)
  14 siblings, 1 reply; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-12-31 18:32 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, Artyom Tarasenko, Aleksandar Markovic,
	qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo, Richard Henderson,
	Philippe Mathieu-Daudé,
	Aurelien Jarno, David Gibson

Only the PowerPC e500-based platforms use the MPC I2C controller.
Do not build it for the other machines.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 default-configs/ppc-softmmu.mak | 1 -
 hw/ppc/Kconfig                  | 1 +
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
index bf86128a0c..61b78b844d 100644
--- a/default-configs/ppc-softmmu.mak
+++ b/default-configs/ppc-softmmu.mak
@@ -1,7 +1,6 @@
 # Default configuration for ppc-softmmu
 
 # For embedded PPCs:
-CONFIG_MPC_I2C=y
 CONFIG_DS1338=y
 CONFIG_E500=y
 CONFIG_PPC405=y
diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index f927ec9c74..0cd8d4053e 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -105,6 +105,7 @@ config E500
     select PLATFORM_BUS
     select PPCE500_PCI
     select SERIAL
+    select MPC_I2C
 
 config VIRTEX
     bool
-- 
2.21.0



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

* [PATCH 07/14] hw/ppc/Kconfig: Let the Sam460ex board use the PowerPC 405 devices
  2019-12-31 18:32 [PATCH 00/14] hw: Fix various --without-default-devices issues Philippe Mathieu-Daudé
                   ` (5 preceding siblings ...)
  2019-12-31 18:32 ` [PATCH 06/14] hw/ppc/Kconfig: Restrict the MPC I2C controller to e500-based platforms Philippe Mathieu-Daudé
@ 2019-12-31 18:32 ` Philippe Mathieu-Daudé
  2020-01-01 11:29   ` BALATON Zoltan
  2020-01-02  2:03   ` David Gibson
  2019-12-31 18:32 ` [PATCH 08/14] hw/ppc/Kconfig: Let the Xilinx Virtex5 ML507 use the PPC-440 devices Philippe Mathieu-Daudé
                   ` (7 subsequent siblings)
  14 siblings, 2 replies; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-12-31 18:32 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, Artyom Tarasenko, Aleksandar Markovic,
	qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo, Richard Henderson,
	Philippe Mathieu-Daudé,
	Aurelien Jarno, David Gibson

When configured with --without-default-devices, the build fails:

    LINK    ppc-softmmu/qemu-system-ppc
  /usr/bin/ld: hw/ppc/sam460ex.o: in function `sam460ex_init':
  hw/ppc/sam460ex.c:313: undefined reference to `ppc4xx_plb_init'
  /usr/bin/ld: hw/ppc/sam460ex.c:353: undefined reference to `ppc405_ebc_init'
  collect2: error: ld returned 1 exit status
  make[1]: *** [Makefile:206: qemu-system-ppc] Error 1

Fix by selecting the PPC405 config.

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

diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index 0cd8d4053e..004b7d5ad5 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -50,6 +50,7 @@ config PPC4XX
 
 config SAM460EX
     bool
+    select PPC405
     select PFLASH_CFI01
     select IDE_SII3112
     select M41T80
-- 
2.21.0



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

* [PATCH 08/14] hw/ppc/Kconfig: Let the Xilinx Virtex5 ML507 use the PPC-440 devices
  2019-12-31 18:32 [PATCH 00/14] hw: Fix various --without-default-devices issues Philippe Mathieu-Daudé
                   ` (6 preceding siblings ...)
  2019-12-31 18:32 ` [PATCH 07/14] hw/ppc/Kconfig: Let the Sam460ex board use the PowerPC 405 devices Philippe Mathieu-Daudé
@ 2019-12-31 18:32 ` Philippe Mathieu-Daudé
  2020-01-02  2:04   ` David Gibson
  2019-12-31 18:32 ` [PATCH 09/14] hw/ppc/Makefile: Simplify the sPAPR PCI objects rule Philippe Mathieu-Daudé
                   ` (6 subsequent siblings)
  14 siblings, 1 reply; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-12-31 18:32 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, Artyom Tarasenko, Aleksandar Markovic,
	qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo, Richard Henderson,
	Philippe Mathieu-Daudé,
	Aurelien Jarno, David Gibson

When configured with --without-default-devices, the build fails:

    LINK    ppc-softmmu/qemu-system-ppc
  /usr/bin/ld: hw/ppc/virtex_ml507.o: in function `ppc440_init_xilinx':
  hw/ppc/virtex_ml507.c:112: undefined reference to `ppcuic_init'
  collect2: error: ld returned 1 exit status
  make[1]: *** [Makefile:206: qemu-system-ppc] Error 1
  make: *** [Makefile:483: ppc-softmmu/all] Error 2

Fix by selecting the PPC4XX config.

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

diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index 004b7d5ad5..d8482a5e99 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -110,6 +110,7 @@ config E500
 
 config VIRTEX
     bool
+    select PPC4XX
     select PFLASH_CFI01
     select SERIAL
     select XILINX
-- 
2.21.0



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

* [PATCH 09/14] hw/ppc/Makefile: Simplify the sPAPR PCI objects rule
  2019-12-31 18:32 [PATCH 00/14] hw: Fix various --without-default-devices issues Philippe Mathieu-Daudé
                   ` (7 preceding siblings ...)
  2019-12-31 18:32 ` [PATCH 08/14] hw/ppc/Kconfig: Let the Xilinx Virtex5 ML507 use the PPC-440 devices Philippe Mathieu-Daudé
@ 2019-12-31 18:32 ` Philippe Mathieu-Daudé
  2020-01-02  2:05   ` David Gibson
  2019-12-31 18:32 ` [PATCH 10/14] hw/ppc/Kconfig: Only select fw_cfg with machines using OpenBIOS Philippe Mathieu-Daudé
                   ` (5 subsequent siblings)
  14 siblings, 1 reply; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-12-31 18:32 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, Artyom Tarasenko, Aleksandar Markovic,
	qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo, Richard Henderson,
	Philippe Mathieu-Daudé,
	Aurelien Jarno, David Gibson

The CONFIG_PSERIES already selects CONFIG_PCI.
Simplify the Makefile rules.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/ppc/Makefile.objs | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs
index 101e9fc591..79adf06aa3 100644
--- a/hw/ppc/Makefile.objs
+++ b/hw/ppc/Makefile.objs
@@ -7,14 +7,11 @@ obj-$(CONFIG_PSERIES) += spapr_pci.o spapr_rtc.o spapr_drc.o
 obj-$(CONFIG_PSERIES) += spapr_cpu_core.o spapr_ovec.o spapr_irq.o
 obj-$(CONFIG_PSERIES) += spapr_tpm_proxy.o
 obj-$(CONFIG_SPAPR_RNG) +=  spapr_rng.o
+obj-$(call land,$(CONFIG_PSERIES),$(CONFIG_LINUX)) += spapr_pci_vfio.o spapr_pci_nvlink2.o
 # IBM PowerNV
 obj-$(CONFIG_POWERNV) += pnv.o pnv_xscom.o pnv_core.o pnv_lpc.o pnv_psi.o pnv_occ.o pnv_bmc.o
 obj-$(CONFIG_POWERNV) += pnv_homer.o pnv_pnor.o
 
-
-ifeq ($(CONFIG_PCI)$(CONFIG_PSERIES)$(CONFIG_LINUX), yyy)
-obj-y += spapr_pci_vfio.o spapr_pci_nvlink2.o
-endif
 obj-$(CONFIG_PSERIES) += spapr_rtas_ddw.o
 # PowerPC 4xx boards
 obj-$(CONFIG_PPC405) += ppc405_boards.o ppc405_uc.o
-- 
2.21.0



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

* [PATCH 10/14] hw/ppc/Kconfig: Only select fw_cfg with machines using OpenBIOS
  2019-12-31 18:32 [PATCH 00/14] hw: Fix various --without-default-devices issues Philippe Mathieu-Daudé
                   ` (8 preceding siblings ...)
  2019-12-31 18:32 ` [PATCH 09/14] hw/ppc/Makefile: Simplify the sPAPR PCI objects rule Philippe Mathieu-Daudé
@ 2019-12-31 18:32 ` Philippe Mathieu-Daudé
  2020-01-02  2:05   ` David Gibson
  2019-12-31 18:32 ` [PATCH 11/14] hw/ppc/Kconfig: Only select FDT helper for machines using it Philippe Mathieu-Daudé
                   ` (4 subsequent siblings)
  14 siblings, 1 reply; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-12-31 18:32 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, Artyom Tarasenko, Aleksandar Markovic,
	qemu-ppc, Gerd Hoffmann, Hervé Poussineau,
	Aleksandar Rikalo, Richard Henderson, Philippe Mathieu-Daudé,
	Aurelien Jarno, David Gibson

The fw_cfg helpers are only used by machines using OpenBIOS.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Cc: "Hervé Poussineau" <hpoussin@reactos.org>
---
 hw/ppc/Kconfig       | 6 ++++++
 hw/ppc/Makefile.objs | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index d8482a5e99..e4ca920507 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -72,6 +72,7 @@ config PREP
     select M48T59
     select PC87312
     select RS6000_MC
+    select FW_CFG_PPC
 
 config RS6000_MC
     bool
@@ -85,6 +86,7 @@ config MAC_OLDWORLD
     select GRACKLE_PCI
     select HEATHROW_PIC
     select MACIO
+    select FW_CFG_PPC
 
 config MAC_NEWWORLD
     bool
@@ -96,6 +98,7 @@ config MAC_NEWWORLD
     select MACIO_GPIO
     select MAC_PMU
     select UNIN_PCI
+    select FW_CFG_PPC
 
 config E500
     bool
@@ -130,3 +133,6 @@ config XIVE_KVM
     bool
     default y
     depends on XIVE_SPAPR && KVM
+
+config FW_CFG_PPC
+    bool
diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs
index 79adf06aa3..5c46c68e44 100644
--- a/hw/ppc/Makefile.objs
+++ b/hw/ppc/Makefile.objs
@@ -1,5 +1,6 @@
 # shared objects
-obj-y += ppc.o ppc_booke.o fdt.o fw_cfg.o
+obj-y += ppc.o ppc_booke.o fdt.o
+obj-$(CONFIG_FW_CFG_PPC) += fw_cfg.o
 # IBM pSeries (sPAPR)
 obj-$(CONFIG_PSERIES) += spapr.o spapr_caps.o spapr_vio.o spapr_events.o
 obj-$(CONFIG_PSERIES) += spapr_hcall.o spapr_iommu.o spapr_rtas.o
-- 
2.21.0



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

* [PATCH 11/14] hw/ppc/Kconfig: Only select FDT helper for machines using it
  2019-12-31 18:32 [PATCH 00/14] hw: Fix various --without-default-devices issues Philippe Mathieu-Daudé
                   ` (9 preceding siblings ...)
  2019-12-31 18:32 ` [PATCH 10/14] hw/ppc/Kconfig: Only select fw_cfg with machines using OpenBIOS Philippe Mathieu-Daudé
@ 2019-12-31 18:32 ` Philippe Mathieu-Daudé
  2020-01-02  2:06   ` David Gibson
  2019-12-31 18:32 ` [PATCH 12/14] hw/nvram/Kconfig: Add an entry for the NMC93xx EEPROM Philippe Mathieu-Daudé
                   ` (3 subsequent siblings)
  14 siblings, 1 reply; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-12-31 18:32 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, Artyom Tarasenko, Aleksandar Markovic,
	qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo, Richard Henderson,
	Philippe Mathieu-Daudé,
	Aurelien Jarno, David Gibson

Not all machines use the ppc_create_page_sizes_prop() helper.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
Can Kconfig can restrict to TARGET_PPC64?
---
 hw/ppc/Kconfig       | 10 ++++++++++
 hw/ppc/Makefile.objs |  3 ++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index e4ca920507..8e62d8f470 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -10,6 +10,7 @@ config PSERIES
     select XICS_SPAPR
     select XIVE_SPAPR
     select MSI_NONBROKEN
+    select FDT_PPC
 
 config SPAPR_RNG
     bool
@@ -26,6 +27,7 @@ config POWERNV
     select MC146818RTC
     select XICS
     select XIVE
+    select FDT_PPC
 
 config PPC405
     bool
@@ -42,6 +44,7 @@ config PPC440
     select PCI_EXPRESS
     select PPC4XX
     select SERIAL
+    select FDT_PPC
 
 config PPC4XX
     bool
@@ -60,6 +63,7 @@ config SAM460EX
     select SMBUS_EEPROM
     select USB_EHCI_SYSBUS
     select USB_OHCI
+    select FDT_PPC
 
 config PREP
     bool
@@ -110,6 +114,7 @@ config E500
     select PPCE500_PCI
     select SERIAL
     select MPC_I2C
+    select FDT_PPC
 
 config VIRTEX
     bool
@@ -118,6 +123,7 @@ config VIRTEX
     select SERIAL
     select XILINX
     select XILINX_ETHLITE
+    select FDT_PPC
 
 config XIVE
     bool
@@ -134,5 +140,9 @@ config XIVE_KVM
     default y
     depends on XIVE_SPAPR && KVM
 
+# Only used by 64-bit targets
 config FW_CFG_PPC
     bool
+
+config FDT_PPC
+    bool
diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs
index 5c46c68e44..a4bac57be6 100644
--- a/hw/ppc/Makefile.objs
+++ b/hw/ppc/Makefile.objs
@@ -1,5 +1,6 @@
 # shared objects
-obj-y += ppc.o ppc_booke.o fdt.o
+obj-y += ppc.o ppc_booke.o
+obj-$(CONFIG_FDT_PPC) += fdt.o
 obj-$(CONFIG_FW_CFG_PPC) += fw_cfg.o
 # IBM pSeries (sPAPR)
 obj-$(CONFIG_PSERIES) += spapr.o spapr_caps.o spapr_vio.o spapr_events.o
-- 
2.21.0



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

* [PATCH 12/14] hw/nvram/Kconfig: Add an entry for the NMC93xx EEPROM
  2019-12-31 18:32 [PATCH 00/14] hw: Fix various --without-default-devices issues Philippe Mathieu-Daudé
                   ` (10 preceding siblings ...)
  2019-12-31 18:32 ` [PATCH 11/14] hw/ppc/Kconfig: Only select FDT helper for machines using it Philippe Mathieu-Daudé
@ 2019-12-31 18:32 ` Philippe Mathieu-Daudé
  2020-01-01 10:31   ` Philippe Mathieu-Daudé
  2019-12-31 18:32 ` [PATCH 13/14] hw/nvram/Kconfig: Restrict CHRP NVRAM to machines using OpenBIOS or SLOF Philippe Mathieu-Daudé
                   ` (2 subsequent siblings)
  14 siblings, 1 reply; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-12-31 18:32 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Stefan Weil,
	Jason Wang, Mark Cave-Ayland, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo,
	Richard Henderson, Philippe Mathieu-Daudé,
	Aurelien Jarno, David Gibson

The NMC93xx EEPROM is only used by few NIC cards and the
Am53C974 SCSI controller.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
Cc: Stefan Weil <sw@weilnetz.de>
---
 hw/net/Kconfig         | 2 ++
 hw/nvram/Kconfig       | 4 ++++
 hw/nvram/Makefile.objs | 2 +-
 hw/scsi/Kconfig        | 1 +
 4 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/hw/net/Kconfig b/hw/net/Kconfig
index 3856417d42..af6a11baf3 100644
--- a/hw/net/Kconfig
+++ b/hw/net/Kconfig
@@ -14,6 +14,7 @@ config EEPRO100_PCI
     bool
     default y if PCI_DEVICES
     depends on PCI
+    select NMC93XX_EEPROM
 
 config PCNET_PCI
     bool
@@ -28,6 +29,7 @@ config TULIP
     bool
     default y if PCI_DEVICES
     depends on PCI
+    select NMC93XX_EEPROM
 
 config E1000_PCI
     bool
diff --git a/hw/nvram/Kconfig b/hw/nvram/Kconfig
index ebaa749ce9..e082a5610c 100644
--- a/hw/nvram/Kconfig
+++ b/hw/nvram/Kconfig
@@ -7,3 +7,7 @@ config AT24C
 
 config MAC_NVRAM
     bool
+
+# NMC93XX uses the NS μWire interface (similar to SPI but less configurable)
+config NMC93XX_EEPROM
+    bool
diff --git a/hw/nvram/Makefile.objs b/hw/nvram/Makefile.objs
index 26f7b4ca35..a4bdfbf187 100644
--- a/hw/nvram/Makefile.objs
+++ b/hw/nvram/Makefile.objs
@@ -1,5 +1,5 @@
 common-obj-$(CONFIG_DS1225Y) += ds1225y.o
-common-obj-y += eeprom93xx.o
+common-obj-$(CONFIG_NMC93XX_EEPROM) += eeprom93xx.o
 common-obj-$(CONFIG_AT24C) += eeprom_at24c.o
 common-obj-y += fw_cfg.o
 common-obj-y += chrp_nvram.o
diff --git a/hw/scsi/Kconfig b/hw/scsi/Kconfig
index b3ba540c17..77d397c949 100644
--- a/hw/scsi/Kconfig
+++ b/hw/scsi/Kconfig
@@ -34,6 +34,7 @@ config ESP_PCI
     default y if PCI_DEVICES
     depends on PCI
     select ESP
+    select NMC93XX_EEPROM
 
 config SPAPR_VSCSI
     bool
-- 
2.21.0



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

* [PATCH 13/14] hw/nvram/Kconfig: Restrict CHRP NVRAM to machines using OpenBIOS or SLOF
  2019-12-31 18:32 [PATCH 00/14] hw: Fix various --without-default-devices issues Philippe Mathieu-Daudé
                   ` (11 preceding siblings ...)
  2019-12-31 18:32 ` [PATCH 12/14] hw/nvram/Kconfig: Add an entry for the NMC93xx EEPROM Philippe Mathieu-Daudé
@ 2019-12-31 18:32 ` Philippe Mathieu-Daudé
  2020-01-02  2:07   ` David Gibson
  2019-12-31 18:32 ` [RFC PATCH 14/14] hw/intc/Kconfig: Let APIC select IOAPIC Philippe Mathieu-Daudé
  2020-01-07 10:11 ` [PATCH 00/14] hw: Fix various --without-default-devices issues Paolo Bonzini
  14 siblings, 1 reply; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-12-31 18:32 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, Artyom Tarasenko, Aleksandar Markovic,
	qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo, Richard Henderson,
	Philippe Mathieu-Daudé,
	Aurelien Jarno, David Gibson

Only the OpenBIOS and SLOF firmwares use the CHRP NVRAM layout.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/nvram/Kconfig       | 4 ++++
 hw/nvram/Makefile.objs | 2 +-
 hw/ppc/Kconfig         | 1 +
 hw/sparc/Kconfig       | 1 +
 hw/sparc64/Kconfig     | 1 +
 5 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/hw/nvram/Kconfig b/hw/nvram/Kconfig
index e082a5610c..0d2ba531ac 100644
--- a/hw/nvram/Kconfig
+++ b/hw/nvram/Kconfig
@@ -7,7 +7,11 @@ config AT24C
 
 config MAC_NVRAM
     bool
+    select CHRP_NVRAM
 
 # NMC93XX uses the NS μWire interface (similar to SPI but less configurable)
 config NMC93XX_EEPROM
     bool
+
+config CHRP_NVRAM
+    bool
diff --git a/hw/nvram/Makefile.objs b/hw/nvram/Makefile.objs
index a4bdfbf187..090df63fcd 100644
--- a/hw/nvram/Makefile.objs
+++ b/hw/nvram/Makefile.objs
@@ -2,7 +2,7 @@ common-obj-$(CONFIG_DS1225Y) += ds1225y.o
 common-obj-$(CONFIG_NMC93XX_EEPROM) += eeprom93xx.o
 common-obj-$(CONFIG_AT24C) += eeprom_at24c.o
 common-obj-y += fw_cfg.o
-common-obj-y += chrp_nvram.o
+common-obj-$(CONFIG_CHRP_NVRAM) += chrp_nvram.o
 common-obj-$(CONFIG_MAC_NVRAM) += mac_nvram.o
 obj-$(CONFIG_PSERIES) += spapr_nvram.o
 obj-$(CONFIG_NRF51_SOC) += nrf51_nvm.o
diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
index 8e62d8f470..e27efe9a24 100644
--- a/hw/ppc/Kconfig
+++ b/hw/ppc/Kconfig
@@ -11,6 +11,7 @@ config PSERIES
     select XIVE_SPAPR
     select MSI_NONBROKEN
     select FDT_PPC
+    select CHRP_NVRAM
 
 config SPAPR_RNG
     bool
diff --git a/hw/sparc/Kconfig b/hw/sparc/Kconfig
index 2a83a8010e..22aff2f5b7 100644
--- a/hw/sparc/Kconfig
+++ b/hw/sparc/Kconfig
@@ -12,6 +12,7 @@ config SUN4M
     select LANCE
     select M48T59
     select STP2000
+    select CHRP_NVRAM
 
 config LEON3
     bool
diff --git a/hw/sparc64/Kconfig b/hw/sparc64/Kconfig
index f9f8b0f73a..980a201bb7 100644
--- a/hw/sparc64/Kconfig
+++ b/hw/sparc64/Kconfig
@@ -12,6 +12,7 @@ config SUN4U
     select IDE_CMD646
     select PCKBD
     select SIMBA
+    select CHRP_NVRAM
 
 config NIAGARA
     bool
-- 
2.21.0



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

* [RFC PATCH 14/14] hw/intc/Kconfig: Let APIC select IOAPIC
  2019-12-31 18:32 [PATCH 00/14] hw: Fix various --without-default-devices issues Philippe Mathieu-Daudé
                   ` (12 preceding siblings ...)
  2019-12-31 18:32 ` [PATCH 13/14] hw/nvram/Kconfig: Restrict CHRP NVRAM to machines using OpenBIOS or SLOF Philippe Mathieu-Daudé
@ 2019-12-31 18:32 ` Philippe Mathieu-Daudé
  2020-01-07  9:58   ` Paolo Bonzini
  2020-01-07 10:11 ` [PATCH 00/14] hw: Fix various --without-default-devices issues Paolo Bonzini
  14 siblings, 1 reply; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-12-31 18:32 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, Artyom Tarasenko, Aleksandar Markovic,
	qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo, Richard Henderson,
	Philippe Mathieu-Daudé,
	Aurelien Jarno, David Gibson

apic_eoi() calls ioapic_eoi_broadcast(), so APIC has to
select the IOAPIC Kconfig.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
Cc: "Michael S. Tsirkin" <mst@redhat.com>

RFC because I'm not sure the design is correct (meanwhile the fix is, however).
---
 hw/intc/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig
index a189d6fedd..82748ae13d 100644
--- a/hw/intc/Kconfig
+++ b/hw/intc/Kconfig
@@ -24,6 +24,7 @@ config APIC
     bool
     select MSI_NONBROKEN
     select I8259
+    select IOAPIC
 
 config ARM_GIC_KVM
     bool
-- 
2.21.0



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

* Re: [PATCH 05/14] hw/i2c/Kconfig: Add an entry for the SMBus
  2019-12-31 18:32 ` [PATCH 05/14] hw/i2c/Kconfig: Add an entry for the SMBus Philippe Mathieu-Daudé
@ 2019-12-31 19:16   ` Corey Minyard
  2020-01-01 10:25     ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 41+ messages in thread
From: Corey Minyard @ 2019-12-31 19:16 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, qemu-devel, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Paolo Bonzini,
	Aleksandar Rikalo, David Gibson, Aurelien Jarno,
	Richard Henderson

On Tue, Dec 31, 2019 at 07:32:07PM +0100, Philippe Mathieu-Daudé wrote:
> The System Management Bus is more or less a derivative of the I2C
> bus, thus the Kconfig entry depends of I2C.
> Not all boards providing an I2C bus support SMBus.
> Use two different Kconfig entries to be able to select I2C without
> selecting SMBus.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> Cc: Corey Minyard <cminyard@mvista.com>
> ---
>  default-configs/mips-softmmu-common.mak | 1 +
>  hw/i2c/Kconfig                          | 8 ++++++--
>  hw/i2c/Makefile.objs                    | 3 ++-
>  3 files changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/default-configs/mips-softmmu-common.mak b/default-configs/mips-softmmu-common.mak
> index da29c6c0b2..ac76d944b8 100644
> --- a/default-configs/mips-softmmu-common.mak
> +++ b/default-configs/mips-softmmu-common.mak
> @@ -37,6 +37,7 @@ CONFIG_R4K=y
>  CONFIG_MALTA=y
>  CONFIG_PCNET_PCI=y
>  CONFIG_MIPSSIM=y
> +CONFIG_SMBUS=y

Why is the above necessary?  Wouldn't CONFIG_ACPI_SMBUS=y below cause
this to be done?

>  CONFIG_ACPI_SMBUS=y
>  CONFIG_SMBUS_EEPROM=y
>  CONFIG_TEST_DEVICES=y
> diff --git a/hw/i2c/Kconfig b/hw/i2c/Kconfig
> index 2bbd395813..09642a6dcb 100644
> --- a/hw/i2c/Kconfig
> +++ b/hw/i2c/Kconfig
> @@ -1,9 +1,13 @@
>  config I2C
>      bool
>  
> +config SMBUS
> +    bool
> +    select I2C
> +
>  config SMBUS_EEPROM
>      bool
> -    depends on I2C
> +    select SMBUS
>  
>  config VERSATILE_I2C
>      bool
> @@ -11,7 +15,7 @@ config VERSATILE_I2C
>  
>  config ACPI_SMBUS
>      bool
> -    select I2C
> +    select SMBUS
>  
>  config BITBANG_I2C
>      bool
> diff --git a/hw/i2c/Makefile.objs b/hw/i2c/Makefile.objs
> index d7073a401f..cbbc8507a3 100644
> --- a/hw/i2c/Makefile.objs
> +++ b/hw/i2c/Makefile.objs
> @@ -1,4 +1,5 @@
> -common-obj-$(CONFIG_I2C) += core.o smbus_slave.o smbus_master.o
> +common-obj-$(CONFIG_I2C) += core.o
> +common-obj-$(CONFIG_SMBUS) += smbus_slave.o smbus_master.o
>  common-obj-$(CONFIG_SMBUS_EEPROM) += smbus_eeprom.o
>  common-obj-$(CONFIG_VERSATILE_I2C) += versatile_i2c.o
>  common-obj-$(CONFIG_ACPI_X86_ICH) += smbus_ich9.o

There is some messiness with ICH, but it appears that everything will
work correctly there and this patch is not the right place to fix it.

This looks fine and avoids including smbus code when it is not
necessary.  With the MIPS config item removed (assuming it is not
necessary):

Reviewed-by: Corey Minyard <cminyard@mvista.com>

I can take it into my tree if you like.

Thanks,

-corey

> -- 
> 2.21.0
> 


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

* Re: [PATCH 05/14] hw/i2c/Kconfig: Add an entry for the SMBus
  2019-12-31 19:16   ` Corey Minyard
@ 2020-01-01 10:25     ` Philippe Mathieu-Daudé
  2020-01-01 16:15       ` Corey Minyard
  0 siblings, 1 reply; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-01-01 10:25 UTC (permalink / raw)
  To: cminyard
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, qemu-devel, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Paolo Bonzini,
	Aleksandar Rikalo, David Gibson, Aurelien Jarno,
	Richard Henderson

On 12/31/19 8:16 PM, Corey Minyard wrote:
> On Tue, Dec 31, 2019 at 07:32:07PM +0100, Philippe Mathieu-Daudé wrote:
>> The System Management Bus is more or less a derivative of the I2C
>> bus, thus the Kconfig entry depends of I2C.
>> Not all boards providing an I2C bus support SMBus.
>> Use two different Kconfig entries to be able to select I2C without
>> selecting SMBus.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> ---
>> Cc: Corey Minyard <cminyard@mvista.com>
>> ---
>>   default-configs/mips-softmmu-common.mak | 1 +
>>   hw/i2c/Kconfig                          | 8 ++++++--
>>   hw/i2c/Makefile.objs                    | 3 ++-
>>   3 files changed, 9 insertions(+), 3 deletions(-)
>>
>> diff --git a/default-configs/mips-softmmu-common.mak b/default-configs/mips-softmmu-common.mak
>> index da29c6c0b2..ac76d944b8 100644
>> --- a/default-configs/mips-softmmu-common.mak
>> +++ b/default-configs/mips-softmmu-common.mak
>> @@ -37,6 +37,7 @@ CONFIG_R4K=y
>>   CONFIG_MALTA=y
>>   CONFIG_PCNET_PCI=y
>>   CONFIG_MIPSSIM=y
>> +CONFIG_SMBUS=y
> 
> Why is the above necessary?  Wouldn't CONFIG_ACPI_SMBUS=y below cause
> this to be done?

Yes you are correct!

> 
>>   CONFIG_ACPI_SMBUS=y
>>   CONFIG_SMBUS_EEPROM=y
>>   CONFIG_TEST_DEVICES=y
>> diff --git a/hw/i2c/Kconfig b/hw/i2c/Kconfig
>> index 2bbd395813..09642a6dcb 100644
>> --- a/hw/i2c/Kconfig
>> +++ b/hw/i2c/Kconfig
>> @@ -1,9 +1,13 @@
>>   config I2C
>>       bool
>>   
>> +config SMBUS
>> +    bool
>> +    select I2C
>> +
>>   config SMBUS_EEPROM
>>       bool
>> -    depends on I2C
>> +    select SMBUS
>>   
>>   config VERSATILE_I2C
>>       bool
>> @@ -11,7 +15,7 @@ config VERSATILE_I2C
>>   
>>   config ACPI_SMBUS
>>       bool
>> -    select I2C
>> +    select SMBUS
>>   
>>   config BITBANG_I2C
>>       bool
>> diff --git a/hw/i2c/Makefile.objs b/hw/i2c/Makefile.objs
>> index d7073a401f..cbbc8507a3 100644
>> --- a/hw/i2c/Makefile.objs
>> +++ b/hw/i2c/Makefile.objs
>> @@ -1,4 +1,5 @@
>> -common-obj-$(CONFIG_I2C) += core.o smbus_slave.o smbus_master.o
>> +common-obj-$(CONFIG_I2C) += core.o
>> +common-obj-$(CONFIG_SMBUS) += smbus_slave.o smbus_master.o
>>   common-obj-$(CONFIG_SMBUS_EEPROM) += smbus_eeprom.o
>>   common-obj-$(CONFIG_VERSATILE_I2C) += versatile_i2c.o
>>   common-obj-$(CONFIG_ACPI_X86_ICH) += smbus_ich9.o
> 
> There is some messiness with ICH, but it appears that everything will
> work correctly there and this patch is not the right place to fix it.

I did some cleaning with the ICH9 chipset last year, I need to find some 
time to refresh it.

> This looks fine and avoids including smbus code when it is not
> necessary.  With the MIPS config item removed (assuming it is not
> necessary):
> 
> Reviewed-by: Corey Minyard <cminyard@mvista.com>

Thanks!

> 
> I can take it into my tree if you like.

Sure, do you mind cleaning default-configs/mips-softmmu-common.mak or 
you prefer a respin of this single patch?

> 
> Thanks,
> 
> -corey
> 
>> -- 
>> 2.21.0
>>
> 



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

* Re: [PATCH 12/14] hw/nvram/Kconfig: Add an entry for the NMC93xx EEPROM
  2019-12-31 18:32 ` [PATCH 12/14] hw/nvram/Kconfig: Add an entry for the NMC93xx EEPROM Philippe Mathieu-Daudé
@ 2020-01-01 10:31   ` Philippe Mathieu-Daudé
  2020-01-07 10:08     ` Paolo Bonzini
  0 siblings, 1 reply; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-01-01 10:31 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel, Cleber Rosa
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Stefan Weil,
	Jason Wang, Mark Cave-Ayland, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo,
	Richard Henderson, Aurelien Jarno, David Gibson

On 12/31/19 7:32 PM, Philippe Mathieu-Daudé wrote:
> The NMC93xx EEPROM is only used by few NIC cards and the
> Am53C974 SCSI controller.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> Cc: Stefan Weil <sw@weilnetz.de>
> ---
>   hw/net/Kconfig         | 2 ++
>   hw/nvram/Kconfig       | 4 ++++
>   hw/nvram/Makefile.objs | 2 +-
>   hw/scsi/Kconfig        | 1 +
>   4 files changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/net/Kconfig b/hw/net/Kconfig
> index 3856417d42..af6a11baf3 100644
> --- a/hw/net/Kconfig
> +++ b/hw/net/Kconfig
> @@ -14,6 +14,7 @@ config EEPRO100_PCI
>       bool
>       default y if PCI_DEVICES
>       depends on PCI
> +    select NMC93XX_EEPROM
>   
>   config PCNET_PCI
>       bool
> @@ -28,6 +29,7 @@ config TULIP
>       bool
>       default y if PCI_DEVICES
>       depends on PCI
> +    select NMC93XX_EEPROM
>   
>   config E1000_PCI
>       bool
> diff --git a/hw/nvram/Kconfig b/hw/nvram/Kconfig
> index ebaa749ce9..e082a5610c 100644
> --- a/hw/nvram/Kconfig
> +++ b/hw/nvram/Kconfig
> @@ -7,3 +7,7 @@ config AT24C
>   
>   config MAC_NVRAM
>       bool
> +
> +# NMC93XX uses the NS μWire interface (similar to SPI but less configurable)

Ah this line triggers:

Traceback (most recent call last):
   File "/root/src/github.com/philmd/qemu/scripts/minikconf.py", line 
700, in <module>
     parser.parse_file(fp)
   File "/root/src/github.com/philmd/qemu/scripts/minikconf.py", line 
362, in parse_file
     self.parse_config()
   File "/root/src/github.com/philmd/qemu/scripts/minikconf.py", line 
575, in parse_config
     self.parse_clause()
   File "/root/src/github.com/philmd/qemu/scripts/minikconf.py", line 
564, in parse_clause
     self.do_include(val)
   File "/root/src/github.com/philmd/qemu/scripts/minikconf.py", line 
413, in do_include
     KconfigParser(self.data).parse_file(fp)
   File "/root/src/github.com/philmd/qemu/scripts/minikconf.py", line 
355, in parse_file
     self.src = fp.read()
   File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode
     return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xce in position 
138: ordinal not in range(128)

> +config NMC93XX_EEPROM
> +    bool
> diff --git a/hw/nvram/Makefile.objs b/hw/nvram/Makefile.objs
> index 26f7b4ca35..a4bdfbf187 100644
> --- a/hw/nvram/Makefile.objs
> +++ b/hw/nvram/Makefile.objs
> @@ -1,5 +1,5 @@
>   common-obj-$(CONFIG_DS1225Y) += ds1225y.o
> -common-obj-y += eeprom93xx.o
> +common-obj-$(CONFIG_NMC93XX_EEPROM) += eeprom93xx.o
>   common-obj-$(CONFIG_AT24C) += eeprom_at24c.o
>   common-obj-y += fw_cfg.o
>   common-obj-y += chrp_nvram.o
> diff --git a/hw/scsi/Kconfig b/hw/scsi/Kconfig
> index b3ba540c17..77d397c949 100644
> --- a/hw/scsi/Kconfig
> +++ b/hw/scsi/Kconfig
> @@ -34,6 +34,7 @@ config ESP_PCI
>       default y if PCI_DEVICES
>       depends on PCI
>       select ESP
> +    select NMC93XX_EEPROM
>   
>   config SPAPR_VSCSI
>       bool
> 



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

* Re: [PATCH 07/14] hw/ppc/Kconfig: Let the Sam460ex board use the PowerPC 405 devices
  2019-12-31 18:32 ` [PATCH 07/14] hw/ppc/Kconfig: Let the Sam460ex board use the PowerPC 405 devices Philippe Mathieu-Daudé
@ 2020-01-01 11:29   ` BALATON Zoltan
  2020-01-01 15:37     ` Philippe Mathieu-Daudé
  2020-01-02  2:03   ` David Gibson
  1 sibling, 1 reply; 41+ messages in thread
From: BALATON Zoltan @ 2020-01-01 11:29 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Paolo Bonzini, qemu-ppc, qemu-devel, David Gibson

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

On Tue, 31 Dec 2019, Philippe Mathieu-Daudé wrote:
> When configured with --without-default-devices, the build fails:
>
>    LINK    ppc-softmmu/qemu-system-ppc
>  /usr/bin/ld: hw/ppc/sam460ex.o: in function `sam460ex_init':
>  hw/ppc/sam460ex.c:313: undefined reference to `ppc4xx_plb_init'
>  /usr/bin/ld: hw/ppc/sam460ex.c:353: undefined reference to `ppc405_ebc_init'
>  collect2: error: ld returned 1 exit status
>  make[1]: *** [Makefile:206: qemu-system-ppc] Error 1
>
> Fix by selecting the PPC405 config.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu>

(The 405 and 440 devices are currently entangled by both using similar 
parts and maybe not all of them are in 4xx yet. Because of this I'm not 
sure if it's worth having separate configure options for these or just 
have a common PPC4XX option for now until these are cleaned up to separate 
them.)

Regards,
BALATON Zoltan

> ---
> hw/ppc/Kconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
> index 0cd8d4053e..004b7d5ad5 100644
> --- a/hw/ppc/Kconfig
> +++ b/hw/ppc/Kconfig
> @@ -50,6 +50,7 @@ config PPC4XX
>
> config SAM460EX
>     bool
> +    select PPC405
>     select PFLASH_CFI01
>     select IDE_SII3112
>     select M41T80
>

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

* Re: [PATCH 07/14] hw/ppc/Kconfig: Let the Sam460ex board use the PowerPC 405 devices
  2020-01-01 11:29   ` BALATON Zoltan
@ 2020-01-01 15:37     ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-01-01 15:37 UTC (permalink / raw)
  To: BALATON Zoltan; +Cc: Paolo Bonzini, qemu-ppc, qemu-devel, David Gibson

On 1/1/20 12:29 PM, BALATON Zoltan wrote:
> On Tue, 31 Dec 2019, Philippe Mathieu-Daudé wrote:
>> When configured with --without-default-devices, the build fails:
>>
>>    LINK    ppc-softmmu/qemu-system-ppc
>>  /usr/bin/ld: hw/ppc/sam460ex.o: in function `sam460ex_init':
>>  hw/ppc/sam460ex.c:313: undefined reference to `ppc4xx_plb_init'
>>  /usr/bin/ld: hw/ppc/sam460ex.c:353: undefined reference to 
>> `ppc405_ebc_init'
>>  collect2: error: ld returned 1 exit status
>>  make[1]: *** [Makefile:206: qemu-system-ppc] Error 1
>>
>> Fix by selecting the PPC405 config.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> 
> Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu>
> 
> (The 405 and 440 devices are currently entangled by both using similar 
> parts and maybe not all of them are in 4xx yet. Because of this I'm not 
> sure if it's worth having separate configure options for these or just 
> have a common PPC4XX option for now until these are cleaned up to 
> separate them.)

You are correct. Using a config.mak limited to CONFIG_SAM460EX=y also 
pulls the 440-based machines in.

Building this series with 'make ppc-softmmu/all':

$ ppc-softmmu/qemu-system-ppc -M help
Supported machines are:
bamboo               bamboo
none                 empty machine
ref405ep             ref405ep
sam460ex             aCube Sam460ex
taihu                taihu

Thanks for the review!

> 
> Regards,
> BALATON Zoltan
> 
>> ---
>> hw/ppc/Kconfig | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
>> index 0cd8d4053e..004b7d5ad5 100644
>> --- a/hw/ppc/Kconfig
>> +++ b/hw/ppc/Kconfig
>> @@ -50,6 +50,7 @@ config PPC4XX
>>
>> config SAM460EX
>>     bool
>> +    select PPC405
>>     select PFLASH_CFI01
>>     select IDE_SII3112
>>     select M41T80
>>



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

* Re: [PATCH 05/14] hw/i2c/Kconfig: Add an entry for the SMBus
  2020-01-01 10:25     ` Philippe Mathieu-Daudé
@ 2020-01-01 16:15       ` Corey Minyard
  2020-01-01 16:21         ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 41+ messages in thread
From: Corey Minyard @ 2020-01-01 16:15 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, qemu-devel, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Paolo Bonzini,
	Aleksandar Rikalo, David Gibson, Aurelien Jarno,
	Richard Henderson

On Wed, Jan 01, 2020 at 11:25:42AM +0100, Philippe Mathieu-Daudé wrote:
> On 12/31/19 8:16 PM, Corey Minyard wrote:
> > On Tue, Dec 31, 2019 at 07:32:07PM +0100, Philippe Mathieu-Daudé wrote:
> > > The System Management Bus is more or less a derivative of the I2C
> > > bus, thus the Kconfig entry depends of I2C.
> > > Not all boards providing an I2C bus support SMBus.
> > > Use two different Kconfig entries to be able to select I2C without
> > > selecting SMBus.
> > > 
> > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> > > ---
> > > Cc: Corey Minyard <cminyard@mvista.com>
> > > ---
> > >   default-configs/mips-softmmu-common.mak | 1 +
> > >   hw/i2c/Kconfig                          | 8 ++++++--
> > >   hw/i2c/Makefile.objs                    | 3 ++-
> > >   3 files changed, 9 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/default-configs/mips-softmmu-common.mak b/default-configs/mips-softmmu-common.mak
> > > index da29c6c0b2..ac76d944b8 100644
> > > --- a/default-configs/mips-softmmu-common.mak
> > > +++ b/default-configs/mips-softmmu-common.mak
> > > @@ -37,6 +37,7 @@ CONFIG_R4K=y
> > >   CONFIG_MALTA=y
> > >   CONFIG_PCNET_PCI=y
> > >   CONFIG_MIPSSIM=y
> > > +CONFIG_SMBUS=y
> > 
> > Why is the above necessary?  Wouldn't CONFIG_ACPI_SMBUS=y below cause
> > this to be done?
> 
> Yes you are correct!
> 
> > 
> > >   CONFIG_ACPI_SMBUS=y
> > >   CONFIG_SMBUS_EEPROM=y
> > >   CONFIG_TEST_DEVICES=y
> > > diff --git a/hw/i2c/Kconfig b/hw/i2c/Kconfig
> > > index 2bbd395813..09642a6dcb 100644
> > > --- a/hw/i2c/Kconfig
> > > +++ b/hw/i2c/Kconfig
> > > @@ -1,9 +1,13 @@
> > >   config I2C
> > >       bool
> > > +config SMBUS
> > > +    bool
> > > +    select I2C
> > > +
> > >   config SMBUS_EEPROM
> > >       bool
> > > -    depends on I2C
> > > +    select SMBUS
> > >   config VERSATILE_I2C
> > >       bool
> > > @@ -11,7 +15,7 @@ config VERSATILE_I2C
> > >   config ACPI_SMBUS
> > >       bool
> > > -    select I2C
> > > +    select SMBUS
> > >   config BITBANG_I2C
> > >       bool
> > > diff --git a/hw/i2c/Makefile.objs b/hw/i2c/Makefile.objs
> > > index d7073a401f..cbbc8507a3 100644
> > > --- a/hw/i2c/Makefile.objs
> > > +++ b/hw/i2c/Makefile.objs
> > > @@ -1,4 +1,5 @@
> > > -common-obj-$(CONFIG_I2C) += core.o smbus_slave.o smbus_master.o
> > > +common-obj-$(CONFIG_I2C) += core.o
> > > +common-obj-$(CONFIG_SMBUS) += smbus_slave.o smbus_master.o
> > >   common-obj-$(CONFIG_SMBUS_EEPROM) += smbus_eeprom.o
> > >   common-obj-$(CONFIG_VERSATILE_I2C) += versatile_i2c.o
> > >   common-obj-$(CONFIG_ACPI_X86_ICH) += smbus_ich9.o
> > 
> > There is some messiness with ICH, but it appears that everything will
> > work correctly there and this patch is not the right place to fix it.
> 
> I did some cleaning with the ICH9 chipset last year, I need to find some
> time to refresh it.
> 
> > This looks fine and avoids including smbus code when it is not
> > necessary.  With the MIPS config item removed (assuming it is not
> > necessary):
> > 
> > Reviewed-by: Corey Minyard <cminyard@mvista.com>
> 
> Thanks!
> 
> > 
> > I can take it into my tree if you like.
> 
> Sure, do you mind cleaning default-configs/mips-softmmu-common.mak or you
> prefer a respin of this single patch?

I removed that piece and have it queued.

Thanks,

-corey

> 
> > 
> > Thanks,
> > 
> > -corey
> > 
> > > -- 
> > > 2.21.0
> > > 
> > 
> 


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

* Re: [PATCH 05/14] hw/i2c/Kconfig: Add an entry for the SMBus
  2020-01-01 16:15       ` Corey Minyard
@ 2020-01-01 16:21         ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-01-01 16:21 UTC (permalink / raw)
  To: cminyard
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, qemu-devel, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Paolo Bonzini,
	Aleksandar Rikalo, David Gibson, Aurelien Jarno,
	Richard Henderson

On 1/1/20 5:15 PM, Corey Minyard wrote:
> On Wed, Jan 01, 2020 at 11:25:42AM +0100, Philippe Mathieu-Daudé wrote:
>> On 12/31/19 8:16 PM, Corey Minyard wrote:
>>> On Tue, Dec 31, 2019 at 07:32:07PM +0100, Philippe Mathieu-Daudé wrote:
>>>> The System Management Bus is more or less a derivative of the I2C
>>>> bus, thus the Kconfig entry depends of I2C.
>>>> Not all boards providing an I2C bus support SMBus.
>>>> Use two different Kconfig entries to be able to select I2C without
>>>> selecting SMBus.
>>>>
>>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>>> ---
>>>> Cc: Corey Minyard <cminyard@mvista.com>
>>>> ---
>>>>    default-configs/mips-softmmu-common.mak | 1 +
>>>>    hw/i2c/Kconfig                          | 8 ++++++--
>>>>    hw/i2c/Makefile.objs                    | 3 ++-
>>>>    3 files changed, 9 insertions(+), 3 deletions(-)
>>>>
>>>> diff --git a/default-configs/mips-softmmu-common.mak b/default-configs/mips-softmmu-common.mak
>>>> index da29c6c0b2..ac76d944b8 100644
>>>> --- a/default-configs/mips-softmmu-common.mak
>>>> +++ b/default-configs/mips-softmmu-common.mak
>>>> @@ -37,6 +37,7 @@ CONFIG_R4K=y
>>>>    CONFIG_MALTA=y
>>>>    CONFIG_PCNET_PCI=y
>>>>    CONFIG_MIPSSIM=y
>>>> +CONFIG_SMBUS=y
>>>
>>> Why is the above necessary?  Wouldn't CONFIG_ACPI_SMBUS=y below cause
>>> this to be done?
>>
>> Yes you are correct!
>>
>>>
>>>>    CONFIG_ACPI_SMBUS=y
>>>>    CONFIG_SMBUS_EEPROM=y
>>>>    CONFIG_TEST_DEVICES=y
>>>> diff --git a/hw/i2c/Kconfig b/hw/i2c/Kconfig
>>>> index 2bbd395813..09642a6dcb 100644
>>>> --- a/hw/i2c/Kconfig
>>>> +++ b/hw/i2c/Kconfig
>>>> @@ -1,9 +1,13 @@
>>>>    config I2C
>>>>        bool
>>>> +config SMBUS
>>>> +    bool
>>>> +    select I2C
>>>> +
>>>>    config SMBUS_EEPROM
>>>>        bool
>>>> -    depends on I2C
>>>> +    select SMBUS
>>>>    config VERSATILE_I2C
>>>>        bool
>>>> @@ -11,7 +15,7 @@ config VERSATILE_I2C
>>>>    config ACPI_SMBUS
>>>>        bool
>>>> -    select I2C
>>>> +    select SMBUS
>>>>    config BITBANG_I2C
>>>>        bool
>>>> diff --git a/hw/i2c/Makefile.objs b/hw/i2c/Makefile.objs
>>>> index d7073a401f..cbbc8507a3 100644
>>>> --- a/hw/i2c/Makefile.objs
>>>> +++ b/hw/i2c/Makefile.objs
>>>> @@ -1,4 +1,5 @@
>>>> -common-obj-$(CONFIG_I2C) += core.o smbus_slave.o smbus_master.o
>>>> +common-obj-$(CONFIG_I2C) += core.o
>>>> +common-obj-$(CONFIG_SMBUS) += smbus_slave.o smbus_master.o
>>>>    common-obj-$(CONFIG_SMBUS_EEPROM) += smbus_eeprom.o
>>>>    common-obj-$(CONFIG_VERSATILE_I2C) += versatile_i2c.o
>>>>    common-obj-$(CONFIG_ACPI_X86_ICH) += smbus_ich9.o
>>>
>>> There is some messiness with ICH, but it appears that everything will
>>> work correctly there and this patch is not the right place to fix it.
>>
>> I did some cleaning with the ICH9 chipset last year, I need to find some
>> time to refresh it.
>>
>>> This looks fine and avoids including smbus code when it is not
>>> necessary.  With the MIPS config item removed (assuming it is not
>>> necessary):
>>>
>>> Reviewed-by: Corey Minyard <cminyard@mvista.com>
>>
>> Thanks!
>>
>>>
>>> I can take it into my tree if you like.
>>
>> Sure, do you mind cleaning default-configs/mips-softmmu-common.mak or you
>> prefer a respin of this single patch?
> 
> I removed that piece and have it queued.

Thanks!

Phil.



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

* Re: [PATCH 06/14] hw/ppc/Kconfig: Restrict the MPC I2C controller to e500-based platforms
  2019-12-31 18:32 ` [PATCH 06/14] hw/ppc/Kconfig: Restrict the MPC I2C controller to e500-based platforms Philippe Mathieu-Daudé
@ 2020-01-02  2:03   ` David Gibson
  0 siblings, 0 replies; 41+ messages in thread
From: David Gibson @ 2020-01-02  2:03 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, qemu-devel, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Paolo Bonzini,
	Aleksandar Rikalo, Aurelien Jarno, Richard Henderson

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

On Tue, Dec 31, 2019 at 07:32:08PM +0100, Philippe Mathieu-Daudé wrote:
> Only the PowerPC e500-based platforms use the MPC I2C controller.
> Do not build it for the other machines.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

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

> ---
>  default-configs/ppc-softmmu.mak | 1 -
>  hw/ppc/Kconfig                  | 1 +
>  2 files changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-softmmu.mak
> index bf86128a0c..61b78b844d 100644
> --- a/default-configs/ppc-softmmu.mak
> +++ b/default-configs/ppc-softmmu.mak
> @@ -1,7 +1,6 @@
>  # Default configuration for ppc-softmmu
>  
>  # For embedded PPCs:
> -CONFIG_MPC_I2C=y
>  CONFIG_DS1338=y
>  CONFIG_E500=y
>  CONFIG_PPC405=y
> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
> index f927ec9c74..0cd8d4053e 100644
> --- a/hw/ppc/Kconfig
> +++ b/hw/ppc/Kconfig
> @@ -105,6 +105,7 @@ config E500
>      select PLATFORM_BUS
>      select PPCE500_PCI
>      select SERIAL
> +    select MPC_I2C
>  
>  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] 41+ messages in thread

* Re: [PATCH 07/14] hw/ppc/Kconfig: Let the Sam460ex board use the PowerPC 405 devices
  2019-12-31 18:32 ` [PATCH 07/14] hw/ppc/Kconfig: Let the Sam460ex board use the PowerPC 405 devices Philippe Mathieu-Daudé
  2020-01-01 11:29   ` BALATON Zoltan
@ 2020-01-02  2:03   ` David Gibson
  1 sibling, 0 replies; 41+ messages in thread
From: David Gibson @ 2020-01-02  2:03 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, qemu-devel, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Paolo Bonzini,
	Aleksandar Rikalo, Aurelien Jarno, Richard Henderson

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

On Tue, Dec 31, 2019 at 07:32:09PM +0100, Philippe Mathieu-Daudé wrote:
> When configured with --without-default-devices, the build fails:
> 
>     LINK    ppc-softmmu/qemu-system-ppc
>   /usr/bin/ld: hw/ppc/sam460ex.o: in function `sam460ex_init':
>   hw/ppc/sam460ex.c:313: undefined reference to `ppc4xx_plb_init'
>   /usr/bin/ld: hw/ppc/sam460ex.c:353: undefined reference to `ppc405_ebc_init'
>   collect2: error: ld returned 1 exit status
>   make[1]: *** [Makefile:206: qemu-system-ppc] Error 1
> 
> Fix by selecting the PPC405 config.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

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

> ---
>  hw/ppc/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
> index 0cd8d4053e..004b7d5ad5 100644
> --- a/hw/ppc/Kconfig
> +++ b/hw/ppc/Kconfig
> @@ -50,6 +50,7 @@ config PPC4XX
>  
>  config SAM460EX
>      bool
> +    select PPC405
>      select PFLASH_CFI01
>      select IDE_SII3112
>      select M41T80

-- 
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] 41+ messages in thread

* Re: [PATCH 08/14] hw/ppc/Kconfig: Let the Xilinx Virtex5 ML507 use the PPC-440 devices
  2019-12-31 18:32 ` [PATCH 08/14] hw/ppc/Kconfig: Let the Xilinx Virtex5 ML507 use the PPC-440 devices Philippe Mathieu-Daudé
@ 2020-01-02  2:04   ` David Gibson
  0 siblings, 0 replies; 41+ messages in thread
From: David Gibson @ 2020-01-02  2:04 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, qemu-devel, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Paolo Bonzini,
	Aleksandar Rikalo, Aurelien Jarno, Richard Henderson

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

On Tue, Dec 31, 2019 at 07:32:10PM +0100, Philippe Mathieu-Daudé wrote:
> When configured with --without-default-devices, the build fails:
> 
>     LINK    ppc-softmmu/qemu-system-ppc
>   /usr/bin/ld: hw/ppc/virtex_ml507.o: in function `ppc440_init_xilinx':
>   hw/ppc/virtex_ml507.c:112: undefined reference to `ppcuic_init'
>   collect2: error: ld returned 1 exit status
>   make[1]: *** [Makefile:206: qemu-system-ppc] Error 1
>   make: *** [Makefile:483: ppc-softmmu/all] Error 2
> 
> Fix by selecting the PPC4XX config.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

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

> ---
>  hw/ppc/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
> index 004b7d5ad5..d8482a5e99 100644
> --- a/hw/ppc/Kconfig
> +++ b/hw/ppc/Kconfig
> @@ -110,6 +110,7 @@ config E500
>  
>  config VIRTEX
>      bool
> +    select PPC4XX
>      select PFLASH_CFI01
>      select SERIAL
>      select XILINX

-- 
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] 41+ messages in thread

* Re: [PATCH 09/14] hw/ppc/Makefile: Simplify the sPAPR PCI objects rule
  2019-12-31 18:32 ` [PATCH 09/14] hw/ppc/Makefile: Simplify the sPAPR PCI objects rule Philippe Mathieu-Daudé
@ 2020-01-02  2:05   ` David Gibson
  0 siblings, 0 replies; 41+ messages in thread
From: David Gibson @ 2020-01-02  2:05 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, qemu-devel, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Paolo Bonzini,
	Aleksandar Rikalo, Aurelien Jarno, Richard Henderson

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

On Tue, Dec 31, 2019 at 07:32:11PM +0100, Philippe Mathieu-Daudé wrote:
> The CONFIG_PSERIES already selects CONFIG_PCI.
> Simplify the Makefile rules.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

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

> ---
>  hw/ppc/Makefile.objs | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs
> index 101e9fc591..79adf06aa3 100644
> --- a/hw/ppc/Makefile.objs
> +++ b/hw/ppc/Makefile.objs
> @@ -7,14 +7,11 @@ obj-$(CONFIG_PSERIES) += spapr_pci.o spapr_rtc.o spapr_drc.o
>  obj-$(CONFIG_PSERIES) += spapr_cpu_core.o spapr_ovec.o spapr_irq.o
>  obj-$(CONFIG_PSERIES) += spapr_tpm_proxy.o
>  obj-$(CONFIG_SPAPR_RNG) +=  spapr_rng.o
> +obj-$(call land,$(CONFIG_PSERIES),$(CONFIG_LINUX)) += spapr_pci_vfio.o spapr_pci_nvlink2.o
>  # IBM PowerNV
>  obj-$(CONFIG_POWERNV) += pnv.o pnv_xscom.o pnv_core.o pnv_lpc.o pnv_psi.o pnv_occ.o pnv_bmc.o
>  obj-$(CONFIG_POWERNV) += pnv_homer.o pnv_pnor.o
>  
> -
> -ifeq ($(CONFIG_PCI)$(CONFIG_PSERIES)$(CONFIG_LINUX), yyy)
> -obj-y += spapr_pci_vfio.o spapr_pci_nvlink2.o
> -endif
>  obj-$(CONFIG_PSERIES) += spapr_rtas_ddw.o
>  # PowerPC 4xx boards
>  obj-$(CONFIG_PPC405) += ppc405_boards.o ppc405_uc.o

-- 
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] 41+ messages in thread

* Re: [PATCH 10/14] hw/ppc/Kconfig: Only select fw_cfg with machines using OpenBIOS
  2019-12-31 18:32 ` [PATCH 10/14] hw/ppc/Kconfig: Only select fw_cfg with machines using OpenBIOS Philippe Mathieu-Daudé
@ 2020-01-02  2:05   ` David Gibson
  0 siblings, 0 replies; 41+ messages in thread
From: David Gibson @ 2020-01-02  2:05 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, qemu-devel, Artyom Tarasenko,
	Aleksandar Markovic, Hervé Poussineau, qemu-ppc,
	Gerd Hoffmann, Paolo Bonzini, Aleksandar Rikalo, Aurelien Jarno,
	Richard Henderson

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

On Tue, Dec 31, 2019 at 07:32:12PM +0100, Philippe Mathieu-Daudé wrote:
> The fw_cfg helpers are only used by machines using OpenBIOS.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

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

> ---
> Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> Cc: "Hervé Poussineau" <hpoussin@reactos.org>
> ---
>  hw/ppc/Kconfig       | 6 ++++++
>  hw/ppc/Makefile.objs | 3 ++-
>  2 files changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
> index d8482a5e99..e4ca920507 100644
> --- a/hw/ppc/Kconfig
> +++ b/hw/ppc/Kconfig
> @@ -72,6 +72,7 @@ config PREP
>      select M48T59
>      select PC87312
>      select RS6000_MC
> +    select FW_CFG_PPC
>  
>  config RS6000_MC
>      bool
> @@ -85,6 +86,7 @@ config MAC_OLDWORLD
>      select GRACKLE_PCI
>      select HEATHROW_PIC
>      select MACIO
> +    select FW_CFG_PPC
>  
>  config MAC_NEWWORLD
>      bool
> @@ -96,6 +98,7 @@ config MAC_NEWWORLD
>      select MACIO_GPIO
>      select MAC_PMU
>      select UNIN_PCI
> +    select FW_CFG_PPC
>  
>  config E500
>      bool
> @@ -130,3 +133,6 @@ config XIVE_KVM
>      bool
>      default y
>      depends on XIVE_SPAPR && KVM
> +
> +config FW_CFG_PPC
> +    bool
> diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs
> index 79adf06aa3..5c46c68e44 100644
> --- a/hw/ppc/Makefile.objs
> +++ b/hw/ppc/Makefile.objs
> @@ -1,5 +1,6 @@
>  # shared objects
> -obj-y += ppc.o ppc_booke.o fdt.o fw_cfg.o
> +obj-y += ppc.o ppc_booke.o fdt.o
> +obj-$(CONFIG_FW_CFG_PPC) += fw_cfg.o
>  # IBM pSeries (sPAPR)
>  obj-$(CONFIG_PSERIES) += spapr.o spapr_caps.o spapr_vio.o spapr_events.o
>  obj-$(CONFIG_PSERIES) += spapr_hcall.o spapr_iommu.o spapr_rtas.o

-- 
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] 41+ messages in thread

* Re: [PATCH 11/14] hw/ppc/Kconfig: Only select FDT helper for machines using it
  2019-12-31 18:32 ` [PATCH 11/14] hw/ppc/Kconfig: Only select FDT helper for machines using it Philippe Mathieu-Daudé
@ 2020-01-02  2:06   ` David Gibson
  0 siblings, 0 replies; 41+ messages in thread
From: David Gibson @ 2020-01-02  2:06 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, qemu-devel, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Paolo Bonzini,
	Aleksandar Rikalo, Aurelien Jarno, Richard Henderson

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

On Tue, Dec 31, 2019 at 07:32:13PM +0100, Philippe Mathieu-Daudé wrote:
> Not all machines use the ppc_create_page_sizes_prop() helper.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

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

> ---
> Can Kconfig can restrict to TARGET_PPC64?
> ---
>  hw/ppc/Kconfig       | 10 ++++++++++
>  hw/ppc/Makefile.objs |  3 ++-
>  2 files changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
> index e4ca920507..8e62d8f470 100644
> --- a/hw/ppc/Kconfig
> +++ b/hw/ppc/Kconfig
> @@ -10,6 +10,7 @@ config PSERIES
>      select XICS_SPAPR
>      select XIVE_SPAPR
>      select MSI_NONBROKEN
> +    select FDT_PPC
>  
>  config SPAPR_RNG
>      bool
> @@ -26,6 +27,7 @@ config POWERNV
>      select MC146818RTC
>      select XICS
>      select XIVE
> +    select FDT_PPC
>  
>  config PPC405
>      bool
> @@ -42,6 +44,7 @@ config PPC440
>      select PCI_EXPRESS
>      select PPC4XX
>      select SERIAL
> +    select FDT_PPC
>  
>  config PPC4XX
>      bool
> @@ -60,6 +63,7 @@ config SAM460EX
>      select SMBUS_EEPROM
>      select USB_EHCI_SYSBUS
>      select USB_OHCI
> +    select FDT_PPC
>  
>  config PREP
>      bool
> @@ -110,6 +114,7 @@ config E500
>      select PPCE500_PCI
>      select SERIAL
>      select MPC_I2C
> +    select FDT_PPC
>  
>  config VIRTEX
>      bool
> @@ -118,6 +123,7 @@ config VIRTEX
>      select SERIAL
>      select XILINX
>      select XILINX_ETHLITE
> +    select FDT_PPC
>  
>  config XIVE
>      bool
> @@ -134,5 +140,9 @@ config XIVE_KVM
>      default y
>      depends on XIVE_SPAPR && KVM
>  
> +# Only used by 64-bit targets
>  config FW_CFG_PPC
>      bool
> +
> +config FDT_PPC
> +    bool
> diff --git a/hw/ppc/Makefile.objs b/hw/ppc/Makefile.objs
> index 5c46c68e44..a4bac57be6 100644
> --- a/hw/ppc/Makefile.objs
> +++ b/hw/ppc/Makefile.objs
> @@ -1,5 +1,6 @@
>  # shared objects
> -obj-y += ppc.o ppc_booke.o fdt.o
> +obj-y += ppc.o ppc_booke.o
> +obj-$(CONFIG_FDT_PPC) += fdt.o
>  obj-$(CONFIG_FW_CFG_PPC) += fw_cfg.o
>  # IBM pSeries (sPAPR)
>  obj-$(CONFIG_PSERIES) += spapr.o spapr_caps.o spapr_vio.o spapr_events.o

-- 
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] 41+ messages in thread

* Re: [PATCH 13/14] hw/nvram/Kconfig: Restrict CHRP NVRAM to machines using OpenBIOS or SLOF
  2019-12-31 18:32 ` [PATCH 13/14] hw/nvram/Kconfig: Restrict CHRP NVRAM to machines using OpenBIOS or SLOF Philippe Mathieu-Daudé
@ 2020-01-02  2:07   ` David Gibson
  0 siblings, 0 replies; 41+ messages in thread
From: David Gibson @ 2020-01-02  2:07 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, qemu-devel, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Paolo Bonzini,
	Aleksandar Rikalo, Aurelien Jarno, Richard Henderson

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

On Tue, Dec 31, 2019 at 07:32:15PM +0100, Philippe Mathieu-Daudé wrote:
> Only the OpenBIOS and SLOF firmwares use the CHRP NVRAM layout.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>

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

> ---
>  hw/nvram/Kconfig       | 4 ++++
>  hw/nvram/Makefile.objs | 2 +-
>  hw/ppc/Kconfig         | 1 +
>  hw/sparc/Kconfig       | 1 +
>  hw/sparc64/Kconfig     | 1 +
>  5 files changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/nvram/Kconfig b/hw/nvram/Kconfig
> index e082a5610c..0d2ba531ac 100644
> --- a/hw/nvram/Kconfig
> +++ b/hw/nvram/Kconfig
> @@ -7,7 +7,11 @@ config AT24C
>  
>  config MAC_NVRAM
>      bool
> +    select CHRP_NVRAM
>  
>  # NMC93XX uses the NS μWire interface (similar to SPI but less configurable)
>  config NMC93XX_EEPROM
>      bool
> +
> +config CHRP_NVRAM
> +    bool
> diff --git a/hw/nvram/Makefile.objs b/hw/nvram/Makefile.objs
> index a4bdfbf187..090df63fcd 100644
> --- a/hw/nvram/Makefile.objs
> +++ b/hw/nvram/Makefile.objs
> @@ -2,7 +2,7 @@ common-obj-$(CONFIG_DS1225Y) += ds1225y.o
>  common-obj-$(CONFIG_NMC93XX_EEPROM) += eeprom93xx.o
>  common-obj-$(CONFIG_AT24C) += eeprom_at24c.o
>  common-obj-y += fw_cfg.o
> -common-obj-y += chrp_nvram.o
> +common-obj-$(CONFIG_CHRP_NVRAM) += chrp_nvram.o
>  common-obj-$(CONFIG_MAC_NVRAM) += mac_nvram.o
>  obj-$(CONFIG_PSERIES) += spapr_nvram.o
>  obj-$(CONFIG_NRF51_SOC) += nrf51_nvm.o
> diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig
> index 8e62d8f470..e27efe9a24 100644
> --- a/hw/ppc/Kconfig
> +++ b/hw/ppc/Kconfig
> @@ -11,6 +11,7 @@ config PSERIES
>      select XIVE_SPAPR
>      select MSI_NONBROKEN
>      select FDT_PPC
> +    select CHRP_NVRAM
>  
>  config SPAPR_RNG
>      bool
> diff --git a/hw/sparc/Kconfig b/hw/sparc/Kconfig
> index 2a83a8010e..22aff2f5b7 100644
> --- a/hw/sparc/Kconfig
> +++ b/hw/sparc/Kconfig
> @@ -12,6 +12,7 @@ config SUN4M
>      select LANCE
>      select M48T59
>      select STP2000
> +    select CHRP_NVRAM
>  
>  config LEON3
>      bool
> diff --git a/hw/sparc64/Kconfig b/hw/sparc64/Kconfig
> index f9f8b0f73a..980a201bb7 100644
> --- a/hw/sparc64/Kconfig
> +++ b/hw/sparc64/Kconfig
> @@ -12,6 +12,7 @@ config SUN4U
>      select IDE_CMD646
>      select PCKBD
>      select SIMBA
> +    select CHRP_NVRAM
>  
>  config NIAGARA
>      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] 41+ messages in thread

* Re: [RFC PATCH 14/14] hw/intc/Kconfig: Let APIC select IOAPIC
  2019-12-31 18:32 ` [RFC PATCH 14/14] hw/intc/Kconfig: Let APIC select IOAPIC Philippe Mathieu-Daudé
@ 2020-01-07  9:58   ` Paolo Bonzini
  0 siblings, 0 replies; 41+ messages in thread
From: Paolo Bonzini @ 2020-01-07  9:58 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, Artyom Tarasenko, Aleksandar Markovic,
	qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo, Richard Henderson,
	Aurelien Jarno, David Gibson

On 31/12/19 19:32, Philippe Mathieu-Daudé wrote:
> apic_eoi() calls ioapic_eoi_broadcast(), so APIC has to
> select the IOAPIC Kconfig.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> Cc: "Michael S. Tsirkin" <mst@redhat.com>
> 
> RFC because I'm not sure the design is correct (meanwhile the fix is, however).

Just add a comment like "# for ioapic_eoi_broadcast()".  If anybody
wants to drop it, they can add a stub.

Paolo

> ---
>  hw/intc/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig
> index a189d6fedd..82748ae13d 100644
> --- a/hw/intc/Kconfig
> +++ b/hw/intc/Kconfig
> @@ -24,6 +24,7 @@ config APIC
>      bool
>      select MSI_NONBROKEN
>      select I8259
> +    select IOAPIC
>  
>  config ARM_GIC_KVM
>      bool
> 



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

* Re: [PATCH 03/14] hw/i386/Kconfig: Let the MicroVM machine select the SERIAL_ISA config
  2019-12-31 18:32 ` [PATCH 03/14] hw/i386/Kconfig: Let the MicroVM machine select the SERIAL_ISA config Philippe Mathieu-Daudé
@ 2020-01-07 10:00   ` Paolo Bonzini
  2020-01-07 10:06     ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 41+ messages in thread
From: Paolo Bonzini @ 2020-01-07 10:00 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Sergio Lopez, Michael S. Tsirkin,
	Jason Wang, Mark Cave-Ayland, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo,
	Richard Henderson, Aurelien Jarno, David Gibson

On 31/12/19 19:32, Philippe Mathieu-Daudé wrote:
> When configured with --without-default-devices, the build fails:
> 
>      LINK    x86_64-softmmu/qemu-system-x86_64
>   /usr/bin/ld: hw/i386/microvm.o: in function `microvm_devices_init':
>   hw/i386/microvm.c:157: undefined reference to `serial_hds_isa_init'
>   collect2: error: ld returned 1 exit status
>   make[1]: *** [Makefile:206: qemu-system-x86_64] Error 1
>   make: *** [Makefile:483: x86_64-softmmu/all] Error 2
> 
> While the MicroVM machine only uses the ISA serial port when the
> MICROVM_MACHINE_ISA_SERIAL property is set, it has to be linked
> with it. Replace the 'imply' Kconfig rule by a 'select'.

I added a comment "# for serial_hds_isa_init()" here.

Paolo

> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> Cc: Sergio Lopez <slp@redhat.com>
> ---
>  hw/i386/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
> index e428322a2c..cbcfb1ce81 100644
> --- a/hw/i386/Kconfig
> +++ b/hw/i386/Kconfig
> @@ -96,7 +96,7 @@ config Q35
>  
>  config MICROVM
>      bool
> -    imply SERIAL_ISA
> +    select SERIAL_ISA
>      select ISA_BUS
>      select APIC
>      select IOAPIC
> 



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

* Re: [PATCH 04/14] hw/i386: Restrict fw_cfg to the PC machines
  2019-12-31 18:32 ` [PATCH 04/14] hw/i386: Restrict fw_cfg to the PC machines Philippe Mathieu-Daudé
@ 2020-01-07 10:00   ` Paolo Bonzini
  2020-01-07 10:01   ` Paolo Bonzini
  1 sibling, 0 replies; 41+ messages in thread
From: Paolo Bonzini @ 2020-01-07 10:00 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Sergio Lopez, Michael S. Tsirkin,
	Jason Wang, Mark Cave-Ayland, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo,
	Richard Henderson, Aurelien Jarno, David Gibson

On 31/12/19 19:32, Philippe Mathieu-Daudé wrote:
> Only the PC-based machines use the fw_cfg device. In particular,
> the MicroVM machine does not use it. Only compile/link it when
> machines require it.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> Cc: Sergio Lopez <slp@redhat.com>
> ---
>  hw/i386/Makefile.objs | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
> index 6ebb6d0cf0..48f2693546 100644
> --- a/hw/i386/Makefile.objs
> +++ b/hw/i386/Makefile.objs
> @@ -5,7 +5,7 @@ obj-$(CONFIG_PC) += pc.o pc_sysfw.o
>  obj-$(CONFIG_I440FX) += pc_piix.o
>  obj-$(CONFIG_Q35) += pc_q35.o
>  obj-$(CONFIG_MICROVM) += microvm.o
> -obj-y += fw_cfg.o
> +obj-$(CONFIG_PC) += fw_cfg.o
>  obj-$(CONFIG_X86_IOMMU) += x86-iommu.o
>  obj-$(CONFIG_VTD) += intel_iommu.o
>  obj-$(CONFIG_AMD_IOMMU) += amd_iommu.o
> 

It does use it, it calls fw_cfg_init_io_dma.

Paolo



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

* Re: [PATCH 04/14] hw/i386: Restrict fw_cfg to the PC machines
  2019-12-31 18:32 ` [PATCH 04/14] hw/i386: Restrict fw_cfg to the PC machines Philippe Mathieu-Daudé
  2020-01-07 10:00   ` Paolo Bonzini
@ 2020-01-07 10:01   ` Paolo Bonzini
  2020-01-07 10:07     ` Philippe Mathieu-Daudé
  2020-01-07 10:16     ` Michael S. Tsirkin
  1 sibling, 2 replies; 41+ messages in thread
From: Paolo Bonzini @ 2020-01-07 10:01 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Sergio Lopez, Michael S. Tsirkin,
	Jason Wang, Mark Cave-Ayland, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo,
	Richard Henderson, Aurelien Jarno, David Gibson

On 31/12/19 19:32, Philippe Mathieu-Daudé wrote:
> Only the PC-based machines use the fw_cfg device. In particular,
> the MicroVM machine does not use it. Only compile/link it when
> machines require it.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> Cc: Sergio Lopez <slp@redhat.com>
> ---
>  hw/i386/Makefile.objs | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
> index 6ebb6d0cf0..48f2693546 100644
> --- a/hw/i386/Makefile.objs
> +++ b/hw/i386/Makefile.objs
> @@ -5,7 +5,7 @@ obj-$(CONFIG_PC) += pc.o pc_sysfw.o
>  obj-$(CONFIG_I440FX) += pc_piix.o
>  obj-$(CONFIG_Q35) += pc_q35.o
>  obj-$(CONFIG_MICROVM) += microvm.o
> -obj-y += fw_cfg.o
> +obj-$(CONFIG_PC) += fw_cfg.o
>  obj-$(CONFIG_X86_IOMMU) += x86-iommu.o
>  obj-$(CONFIG_VTD) += intel_iommu.o
>  obj-$(CONFIG_AMD_IOMMU) += amd_iommu.o
> 

Ah no, this is hw/i386/fw_cfg.c; of course hw/nvram/fw_cfg.c has its own
Kconfig symbol.  Can you rename the file to pc-fwcfg.c and adjust the
commit message?

Paolo



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

* Re: [PATCH 03/14] hw/i386/Kconfig: Let the MicroVM machine select the SERIAL_ISA config
  2020-01-07 10:00   ` Paolo Bonzini
@ 2020-01-07 10:06     ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-01-07 10:06 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Sergio Lopez, Michael S. Tsirkin,
	Jason Wang, Mark Cave-Ayland, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo,
	Richard Henderson, Aurelien Jarno, David Gibson

On 1/7/20 11:00 AM, Paolo Bonzini wrote:
> On 31/12/19 19:32, Philippe Mathieu-Daudé wrote:
>> When configured with --without-default-devices, the build fails:
>>
>>       LINK    x86_64-softmmu/qemu-system-x86_64
>>    /usr/bin/ld: hw/i386/microvm.o: in function `microvm_devices_init':
>>    hw/i386/microvm.c:157: undefined reference to `serial_hds_isa_init'
>>    collect2: error: ld returned 1 exit status
>>    make[1]: *** [Makefile:206: qemu-system-x86_64] Error 1
>>    make: *** [Makefile:483: x86_64-softmmu/all] Error 2
>>
>> While the MicroVM machine only uses the ISA serial port when the
>> MICROVM_MACHINE_ISA_SERIAL property is set, it has to be linked
>> with it. Replace the 'imply' Kconfig rule by a 'select'.
> 
> I added a comment "# for serial_hds_isa_init()" here.

Sounds good, assuming the microvm might become more modular later.

>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> ---
>> Cc: Sergio Lopez <slp@redhat.com>
>> ---
>>   hw/i386/Kconfig | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
>> index e428322a2c..cbcfb1ce81 100644
>> --- a/hw/i386/Kconfig
>> +++ b/hw/i386/Kconfig
>> @@ -96,7 +96,7 @@ config Q35
>>   
>>   config MICROVM
>>       bool
>> -    imply SERIAL_ISA
>> +    select SERIAL_ISA
>>       select ISA_BUS
>>       select APIC
>>       select IOAPIC
>>
> 



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

* Re: [PATCH 04/14] hw/i386: Restrict fw_cfg to the PC machines
  2020-01-07 10:01   ` Paolo Bonzini
@ 2020-01-07 10:07     ` Philippe Mathieu-Daudé
  2020-01-07 10:16     ` Michael S. Tsirkin
  1 sibling, 0 replies; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-01-07 10:07 UTC (permalink / raw)
  To: Paolo Bonzini, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Sergio Lopez, Michael S. Tsirkin,
	Jason Wang, Mark Cave-Ayland, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo,
	Richard Henderson, Aurelien Jarno, David Gibson

On 1/7/20 11:01 AM, Paolo Bonzini wrote:
> On 31/12/19 19:32, Philippe Mathieu-Daudé wrote:
>> Only the PC-based machines use the fw_cfg device. In particular,
>> the MicroVM machine does not use it. Only compile/link it when
>> machines require it.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> ---
>> Cc: Sergio Lopez <slp@redhat.com>
>> ---
>>   hw/i386/Makefile.objs | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
>> index 6ebb6d0cf0..48f2693546 100644
>> --- a/hw/i386/Makefile.objs
>> +++ b/hw/i386/Makefile.objs
>> @@ -5,7 +5,7 @@ obj-$(CONFIG_PC) += pc.o pc_sysfw.o
>>   obj-$(CONFIG_I440FX) += pc_piix.o
>>   obj-$(CONFIG_Q35) += pc_q35.o
>>   obj-$(CONFIG_MICROVM) += microvm.o
>> -obj-y += fw_cfg.o
>> +obj-$(CONFIG_PC) += fw_cfg.o
>>   obj-$(CONFIG_X86_IOMMU) += x86-iommu.o
>>   obj-$(CONFIG_VTD) += intel_iommu.o
>>   obj-$(CONFIG_AMD_IOMMU) += amd_iommu.o
>>
> 
> Ah no, this is hw/i386/fw_cfg.c; of course hw/nvram/fw_cfg.c has its own
> Kconfig symbol.  Can you rename the file to pc-fwcfg.c and adjust the
> commit message?

Yes, will do (I'll try to post a new series with only patches you 
haven't picked already).



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

* Re: [PATCH 12/14] hw/nvram/Kconfig: Add an entry for the NMC93xx EEPROM
  2020-01-01 10:31   ` Philippe Mathieu-Daudé
@ 2020-01-07 10:08     ` Paolo Bonzini
  0 siblings, 0 replies; 41+ messages in thread
From: Paolo Bonzini @ 2020-01-07 10:08 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel, Cleber Rosa
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Stefan Weil,
	Jason Wang, Mark Cave-Ayland, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo,
	Richard Henderson, Aurelien Jarno, David Gibson

On 01/01/20 11:31, Philippe Mathieu-Daudé wrote:
> On 12/31/19 7:32 PM, Philippe Mathieu-Daudé wrote:
>> The NMC93xx EEPROM is only used by few NIC cards and the
>> Am53C974 SCSI controller.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> ---
>> Cc: Stefan Weil <sw@weilnetz.de>
>> ---
>>   hw/net/Kconfig         | 2 ++
>>   hw/nvram/Kconfig       | 4 ++++
>>   hw/nvram/Makefile.objs | 2 +-
>>   hw/scsi/Kconfig        | 1 +
>>   4 files changed, 8 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/net/Kconfig b/hw/net/Kconfig
>> index 3856417d42..af6a11baf3 100644
>> --- a/hw/net/Kconfig
>> +++ b/hw/net/Kconfig
>> @@ -14,6 +14,7 @@ config EEPRO100_PCI
>>       bool
>>       default y if PCI_DEVICES
>>       depends on PCI
>> +    select NMC93XX_EEPROM
>>     config PCNET_PCI
>>       bool
>> @@ -28,6 +29,7 @@ config TULIP
>>       bool
>>       default y if PCI_DEVICES
>>       depends on PCI
>> +    select NMC93XX_EEPROM
>>     config E1000_PCI
>>       bool
>> diff --git a/hw/nvram/Kconfig b/hw/nvram/Kconfig
>> index ebaa749ce9..e082a5610c 100644
>> --- a/hw/nvram/Kconfig
>> +++ b/hw/nvram/Kconfig
>> @@ -7,3 +7,7 @@ config AT24C
>>     config MAC_NVRAM
>>       bool
>> +
>> +# NMC93XX uses the NS μWire interface (similar to SPI but less
>> configurable)

Changed to uWire.  Gotta love Python 3. :)

Paolo

> Ah this line triggers:
> 
> Traceback (most recent call last):
>   File "/root/src/github.com/philmd/qemu/scripts/minikconf.py", line
> 700, in <module>
>     parser.parse_file(fp)
>   File "/root/src/github.com/philmd/qemu/scripts/minikconf.py", line
> 362, in parse_file
>     self.parse_config()
>   File "/root/src/github.com/philmd/qemu/scripts/minikconf.py", line
> 575, in parse_config
>     self.parse_clause()
>   File "/root/src/github.com/philmd/qemu/scripts/minikconf.py", line
> 564, in parse_clause
>     self.do_include(val)
>   File "/root/src/github.com/philmd/qemu/scripts/minikconf.py", line
> 413, in do_include
>     KconfigParser(self.data).parse_file(fp)
>   File "/root/src/github.com/philmd/qemu/scripts/minikconf.py", line
> 355, in parse_file
>     self.src = fp.read()
>   File "/usr/lib/python3.5/encodings/ascii.py", line 26, in decode
>     return codecs.ascii_decode(input, self.errors)[0]
> UnicodeDecodeError: 'ascii' codec can't decode byte 0xce in position
> 138: ordinal not in range(128)
> 
>> +config NMC93XX_EEPROM
>> +    bool
>> diff --git a/hw/nvram/Makefile.objs b/hw/nvram/Makefile.objs
>> index 26f7b4ca35..a4bdfbf187 100644
>> --- a/hw/nvram/Makefile.objs
>> +++ b/hw/nvram/Makefile.objs
>> @@ -1,5 +1,5 @@
>>   common-obj-$(CONFIG_DS1225Y) += ds1225y.o
>> -common-obj-y += eeprom93xx.o
>> +common-obj-$(CONFIG_NMC93XX_EEPROM) += eeprom93xx.o
>>   common-obj-$(CONFIG_AT24C) += eeprom_at24c.o
>>   common-obj-y += fw_cfg.o
>>   common-obj-y += chrp_nvram.o
>> diff --git a/hw/scsi/Kconfig b/hw/scsi/Kconfig
>> index b3ba540c17..77d397c949 100644
>> --- a/hw/scsi/Kconfig
>> +++ b/hw/scsi/Kconfig
>> @@ -34,6 +34,7 @@ config ESP_PCI
>>       default y if PCI_DEVICES
>>       depends on PCI
>>       select ESP
>> +    select NMC93XX_EEPROM
>>     config SPAPR_VSCSI
>>       bool
>>
> 



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

* Re: [PATCH 00/14] hw: Fix various --without-default-devices issues
  2019-12-31 18:32 [PATCH 00/14] hw: Fix various --without-default-devices issues Philippe Mathieu-Daudé
                   ` (13 preceding siblings ...)
  2019-12-31 18:32 ` [RFC PATCH 14/14] hw/intc/Kconfig: Let APIC select IOAPIC Philippe Mathieu-Daudé
@ 2020-01-07 10:11 ` Paolo Bonzini
  14 siblings, 0 replies; 41+ messages in thread
From: Paolo Bonzini @ 2020-01-07 10:11 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, Artyom Tarasenko, Aleksandar Markovic,
	qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo, Richard Henderson,
	Aurelien Jarno, David Gibson

On 31/12/19 19:32, Philippe Mathieu-Daudé wrote:
> Various fixes when configured with --without-default-devices
> and building each machine individually.
> Adding the corresponding CI tests is out of the scope of this
> series.
> 
> This series is pushed on top of "hw/i386: Allow building
> machines without IOMMU" [*] here:
> https://gitlab.com/philmd/qemu/commits/kconfig_misc_fixes
> 
> Happy new year!
> 
> [*] https://lists.gnu.org/archive/html/qemu-devel/2019-12/msg05230.html

Queued these:

 hw/intc/i8259: Fix Kconfig dependency on ISA bus
 hw/i386/Kconfig: Let the MicroVM machine select the SERIAL_ISA config
 hw/ppc/Kconfig: Restrict the MPC I2C controller to e500-based platforms
 hw/ppc/Kconfig: Let the Sam460ex board use the PowerPC 405 devices
 hw/ppc/Kconfig: Let the Xilinx Virtex5 ML507 use the PPC-440 devices
 hw/ppc/Makefile: Simplify the sPAPR PCI objects rule
 hw/ppc/Kconfig: Only select fw_cfg with machines using OpenBIOS
 hw/ppc/Kconfig: Only select FDT helper for machines using it
 hw/nvram/Kconfig: Add an entry for the NMC93xx EEPROM
 hw/nvram/Kconfig: Restrict CHRP NVRAM to machines using OpenBIOS or SLOF

Thanks David for the acks.

Paolo

> Philippe Mathieu-Daudé (14):
>   hw/usb/redirect: Do not link 'usb-redir' device when USB not enabled
>   hw/intc/i8259: Fix Kconfig dependency on ISA bus
>   hw/i386/Kconfig: Let the MicroVM machine select the SERIAL_ISA config
>   hw/i386: Restrict fw_cfg to the PC machines
>   hw/i2c/Kconfig: Add an entry for the SMBus
>   hw/ppc/Kconfig: Restrict the MPC I2C controller to e500-based
>     platforms
>   hw/ppc/Kconfig: Let the Sam460ex board use the PowerPC 405 devices
>   hw/ppc/Kconfig: Let the Xilinx Virtex5 ML507 use the PPC-440 devices
>   hw/ppc/Makefile: Simplify the sPAPR PCI objects rule
>   hw/ppc/Kconfig: Only select fw_cfg with machines using OpenBIOS
>   hw/ppc/Kconfig: Only select FDT helper for machines using it
>   hw/nvram/Kconfig: Add an entry for the NMC93xx EEPROM
>   hw/nvram/Kconfig: Restrict CHRP NVRAM to machines using OpenBIOS or
>     SLOF
>   hw/intc/Kconfig: Let APIC select IOAPIC
> 
>  default-configs/mips-softmmu-common.mak |  1 +
>  default-configs/ppc-softmmu.mak         |  1 -
>  hw/i2c/Kconfig                          |  8 ++++++--
>  hw/i2c/Makefile.objs                    |  3 ++-
>  hw/i386/Kconfig                         |  2 +-
>  hw/i386/Makefile.objs                   |  2 +-
>  hw/intc/Kconfig                         |  2 ++
>  hw/net/Kconfig                          |  2 ++
>  hw/nvram/Kconfig                        |  8 ++++++++
>  hw/nvram/Makefile.objs                  |  4 ++--
>  hw/ppc/Kconfig                          | 20 ++++++++++++++++++++
>  hw/ppc/Makefile.objs                    |  9 ++++-----
>  hw/scsi/Kconfig                         |  1 +
>  hw/sparc/Kconfig                        |  1 +
>  hw/sparc64/Kconfig                      |  1 +
>  hw/usb/Makefile.objs                    |  2 ++
>  16 files changed, 54 insertions(+), 13 deletions(-)
> 



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

* Re: [PATCH 04/14] hw/i386: Restrict fw_cfg to the PC machines
  2020-01-07 10:01   ` Paolo Bonzini
  2020-01-07 10:07     ` Philippe Mathieu-Daudé
@ 2020-01-07 10:16     ` Michael S. Tsirkin
  2020-01-07 12:22       ` Paolo Bonzini
  1 sibling, 1 reply; 41+ messages in thread
From: Michael S. Tsirkin @ 2020-01-07 10:16 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Fam Zheng, Eduardo Habkost, Sergio Lopez, Jason Wang,
	Mark Cave-Ayland, qemu-devel, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo,
	David Gibson, Philippe Mathieu-Daudé,
	Aurelien Jarno, Richard Henderson

On Tue, Jan 07, 2020 at 11:01:48AM +0100, Paolo Bonzini wrote:
> On 31/12/19 19:32, Philippe Mathieu-Daudé wrote:
> > Only the PC-based machines use the fw_cfg device. In particular,
> > the MicroVM machine does not use it. Only compile/link it when
> > machines require it.
> > 
> > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> > ---
> > Cc: Sergio Lopez <slp@redhat.com>
> > ---
> >  hw/i386/Makefile.objs | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
> > index 6ebb6d0cf0..48f2693546 100644
> > --- a/hw/i386/Makefile.objs
> > +++ b/hw/i386/Makefile.objs
> > @@ -5,7 +5,7 @@ obj-$(CONFIG_PC) += pc.o pc_sysfw.o
> >  obj-$(CONFIG_I440FX) += pc_piix.o
> >  obj-$(CONFIG_Q35) += pc_q35.o
> >  obj-$(CONFIG_MICROVM) += microvm.o
> > -obj-y += fw_cfg.o
> > +obj-$(CONFIG_PC) += fw_cfg.o
> >  obj-$(CONFIG_X86_IOMMU) += x86-iommu.o
> >  obj-$(CONFIG_VTD) += intel_iommu.o
> >  obj-$(CONFIG_AMD_IOMMU) += amd_iommu.o
> > 
> 
> Ah no, this is hw/i386/fw_cfg.c; of course hw/nvram/fw_cfg.c has its own
> Kconfig symbol.

Sorry couldn't find it. Which symbol is that?

>  Can you rename the file to pc-fwcfg.c and adjust the
> commit message?
> 
> Paolo

Yea hw/i386/fw_cfg.c are helpers for use of fw cfg in pc,
it's not a fw cfg device as the commit message seems to
imply.

If there is a fw cfg symbol, would it be cleaner to make pc-fwcfg.c
depend on it?

-- 
MST



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

* Re: [PATCH 04/14] hw/i386: Restrict fw_cfg to the PC machines
  2020-01-07 10:16     ` Michael S. Tsirkin
@ 2020-01-07 12:22       ` Paolo Bonzini
  0 siblings, 0 replies; 41+ messages in thread
From: Paolo Bonzini @ 2020-01-07 12:22 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Fam Zheng, Eduardo Habkost, Sergio Lopez, Jason Wang,
	Mark Cave-Ayland, qemu-devel, Artyom Tarasenko,
	Aleksandar Markovic, qemu-ppc, Gerd Hoffmann, Aleksandar Rikalo,
	David Gibson, Philippe Mathieu-Daudé,
	Aurelien Jarno, Richard Henderson

On 07/01/20 11:16, Michael S. Tsirkin wrote:
> On Tue, Jan 07, 2020 at 11:01:48AM +0100, Paolo Bonzini wrote:
>> On 31/12/19 19:32, Philippe Mathieu-Daudé wrote:
>>> Only the PC-based machines use the fw_cfg device. In particular,
>>> the MicroVM machine does not use it. Only compile/link it when
>>> machines require it.
>>>
>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>> ---
>>> Cc: Sergio Lopez <slp@redhat.com>
>>> ---
>>>  hw/i386/Makefile.objs | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/hw/i386/Makefile.objs b/hw/i386/Makefile.objs
>>> index 6ebb6d0cf0..48f2693546 100644
>>> --- a/hw/i386/Makefile.objs
>>> +++ b/hw/i386/Makefile.objs
>>> @@ -5,7 +5,7 @@ obj-$(CONFIG_PC) += pc.o pc_sysfw.o
>>>  obj-$(CONFIG_I440FX) += pc_piix.o
>>>  obj-$(CONFIG_Q35) += pc_q35.o
>>>  obj-$(CONFIG_MICROVM) += microvm.o
>>> -obj-y += fw_cfg.o
>>> +obj-$(CONFIG_PC) += fw_cfg.o
>>>  obj-$(CONFIG_X86_IOMMU) += x86-iommu.o
>>>  obj-$(CONFIG_VTD) += intel_iommu.o
>>>  obj-$(CONFIG_AMD_IOMMU) += amd_iommu.o
>>>
>>
>> Ah no, this is hw/i386/fw_cfg.c; of course hw/nvram/fw_cfg.c has its own
>> Kconfig symbol.
> 
> Sorry couldn't find it. Which symbol is that?

None. :)  fw_cfg has a bunch of uses in vl.c, it's not really going to
be easy to stub it out and probably pointless because it's an easy way
for firmware to get QEMU-specific information.

Paolo



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

* Re: [PATCH 01/14] hw/usb/redirect: Do not link 'usb-redir' device when USB not enabled
  2019-12-31 18:32 ` [PATCH 01/14] hw/usb/redirect: Do not link 'usb-redir' device when USB not enabled Philippe Mathieu-Daudé
@ 2020-01-07 12:24   ` Thomas Huth
  0 siblings, 0 replies; 41+ messages in thread
From: Thomas Huth @ 2020-01-07 12:24 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, Paolo Bonzini, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, Aurelien Jarno, qemu-ppc, Gerd Hoffmann,
	Aleksandar Markovic, Aleksandar Rikalo, David Gibson,
	Artyom Tarasenko, Richard Henderson

On 31/12/2019 19.32, Philippe Mathieu-Daudé wrote:
> The 'usb-redir' device requires the USB core code to work. Do not
> link it when there is no USB support. This fixes:
> 
>   $ qemu-system-tricore -M tricore_testboard -device usb-redir
>   qemu-system-tricore: -device usb-redir: No 'usb-bus' bus found for device 'usb-redir'
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  hw/usb/Makefile.objs | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/hw/usb/Makefile.objs b/hw/usb/Makefile.objs
> index 0ab20f9d73..0052d49ce1 100644
> --- a/hw/usb/Makefile.objs
> +++ b/hw/usb/Makefile.objs
> @@ -39,9 +39,11 @@ common-obj-$(CONFIG_USB_STORAGE_MTP)  += dev-mtp.o
>  endif
>  
>  # usb redirection
> +ifeq ($(CONFIG_USB),y)
>  common-obj-$(CONFIG_USB_REDIR) += redirect.o quirks.o
>  redirect.o-cflags = $(USB_REDIR_CFLAGS)
>  redirect.o-libs = $(USB_REDIR_LIBS)
> +endif
>  
>  # usb pass-through
>  ifeq ($(CONFIG_USB_LIBUSB)$(CONFIG_USB),yy)
> 

Reviewed-by: Thomas Huth <thuth@redhat.com>



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

* Re: [PATCH 02/14] hw/intc/i8259: Fix Kconfig dependency on ISA bus
  2019-12-31 18:32 ` [PATCH 02/14] hw/intc/i8259: Fix Kconfig dependency on ISA bus Philippe Mathieu-Daudé
@ 2020-01-07 12:28   ` Thomas Huth
  0 siblings, 0 replies; 41+ messages in thread
From: Thomas Huth @ 2020-01-07 12:28 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, Paolo Bonzini, qemu-devel
  Cc: Fam Zheng, Eduardo Habkost, Michael S. Tsirkin, Jason Wang,
	Mark Cave-Ayland, Aurelien Jarno, qemu-ppc, Gerd Hoffmann,
	Aleksandar Markovic, Aleksandar Rikalo, David Gibson,
	Artyom Tarasenko, Richard Henderson

On 31/12/2019 19.32, Philippe Mathieu-Daudé wrote:
> The 8259 Interrupt Controller sits on a ISA bus.
> Add the missing dependency to fix:
> 
>     LINK    x86_64-softmmu/qemu-system-x86_64
>   /usr/bin/ld: ../hw/intc/i8259_common.o: in function `pic_common_realize':
>   hw/intc/i8259_common.c:84: undefined reference to `isa_register_ioport'
>   /usr/bin/ld: hw/intc/i8259_common.c:86: undefined reference to `isa_register_ioport'
>   /usr/bin/ld: ../hw/intc/i8259_common.o: in function `i8259_init_chip':
>   hw/intc/i8259_common.c:97: undefined reference to `isa_create'
>   collect2: error: ld returned 1 exit status
>   make[1]: *** [Makefile:206: qemu-system-x86_64] Error 1
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> Cc: "Michael S. Tsirkin" <mst@redhat.com> (supporter:PC Chipset)
> ---
>  hw/intc/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig
> index 10a680b53a..a189d6fedd 100644
> --- a/hw/intc/Kconfig
> +++ b/hw/intc/Kconfig
> @@ -3,6 +3,7 @@ config HEATHROW_PIC
>  
>  config I8259
>      bool
> +    select ISA_BUS
>  
>  config PL190
>      bool
> 

The code uses "parent = TYPE_ISA_DEVICE", so this seems to be right.

Reviewed-by: Thomas Huth <thuth@redhat.com>



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

end of thread, other threads:[~2020-01-07 14:10 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-31 18:32 [PATCH 00/14] hw: Fix various --without-default-devices issues Philippe Mathieu-Daudé
2019-12-31 18:32 ` [PATCH 01/14] hw/usb/redirect: Do not link 'usb-redir' device when USB not enabled Philippe Mathieu-Daudé
2020-01-07 12:24   ` Thomas Huth
2019-12-31 18:32 ` [PATCH 02/14] hw/intc/i8259: Fix Kconfig dependency on ISA bus Philippe Mathieu-Daudé
2020-01-07 12:28   ` Thomas Huth
2019-12-31 18:32 ` [PATCH 03/14] hw/i386/Kconfig: Let the MicroVM machine select the SERIAL_ISA config Philippe Mathieu-Daudé
2020-01-07 10:00   ` Paolo Bonzini
2020-01-07 10:06     ` Philippe Mathieu-Daudé
2019-12-31 18:32 ` [PATCH 04/14] hw/i386: Restrict fw_cfg to the PC machines Philippe Mathieu-Daudé
2020-01-07 10:00   ` Paolo Bonzini
2020-01-07 10:01   ` Paolo Bonzini
2020-01-07 10:07     ` Philippe Mathieu-Daudé
2020-01-07 10:16     ` Michael S. Tsirkin
2020-01-07 12:22       ` Paolo Bonzini
2019-12-31 18:32 ` [PATCH 05/14] hw/i2c/Kconfig: Add an entry for the SMBus Philippe Mathieu-Daudé
2019-12-31 19:16   ` Corey Minyard
2020-01-01 10:25     ` Philippe Mathieu-Daudé
2020-01-01 16:15       ` Corey Minyard
2020-01-01 16:21         ` Philippe Mathieu-Daudé
2019-12-31 18:32 ` [PATCH 06/14] hw/ppc/Kconfig: Restrict the MPC I2C controller to e500-based platforms Philippe Mathieu-Daudé
2020-01-02  2:03   ` David Gibson
2019-12-31 18:32 ` [PATCH 07/14] hw/ppc/Kconfig: Let the Sam460ex board use the PowerPC 405 devices Philippe Mathieu-Daudé
2020-01-01 11:29   ` BALATON Zoltan
2020-01-01 15:37     ` Philippe Mathieu-Daudé
2020-01-02  2:03   ` David Gibson
2019-12-31 18:32 ` [PATCH 08/14] hw/ppc/Kconfig: Let the Xilinx Virtex5 ML507 use the PPC-440 devices Philippe Mathieu-Daudé
2020-01-02  2:04   ` David Gibson
2019-12-31 18:32 ` [PATCH 09/14] hw/ppc/Makefile: Simplify the sPAPR PCI objects rule Philippe Mathieu-Daudé
2020-01-02  2:05   ` David Gibson
2019-12-31 18:32 ` [PATCH 10/14] hw/ppc/Kconfig: Only select fw_cfg with machines using OpenBIOS Philippe Mathieu-Daudé
2020-01-02  2:05   ` David Gibson
2019-12-31 18:32 ` [PATCH 11/14] hw/ppc/Kconfig: Only select FDT helper for machines using it Philippe Mathieu-Daudé
2020-01-02  2:06   ` David Gibson
2019-12-31 18:32 ` [PATCH 12/14] hw/nvram/Kconfig: Add an entry for the NMC93xx EEPROM Philippe Mathieu-Daudé
2020-01-01 10:31   ` Philippe Mathieu-Daudé
2020-01-07 10:08     ` Paolo Bonzini
2019-12-31 18:32 ` [PATCH 13/14] hw/nvram/Kconfig: Restrict CHRP NVRAM to machines using OpenBIOS or SLOF Philippe Mathieu-Daudé
2020-01-02  2:07   ` David Gibson
2019-12-31 18:32 ` [RFC PATCH 14/14] hw/intc/Kconfig: Let APIC select IOAPIC Philippe Mathieu-Daudé
2020-01-07  9:58   ` Paolo Bonzini
2020-01-07 10:11 ` [PATCH 00/14] hw: Fix various --without-default-devices issues 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.