* [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.