qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL v3 00/29] Kconfig for Arm
@ 2019-05-13  8:29 Thomas Huth
  2019-05-13  8:29 ` [Qemu-devel] [PULL v3 02/29] Makefile: Fix inclusion of the config-devices.mak.d Kconfig dependencies Thomas Huth
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Thomas Huth @ 2019-05-13  8:29 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel; +Cc: qemu-arm

 Hi Peter,

the following changes since commit efb4f3b62c69383a7308d7b739a3193e7c0ccae8:

  Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging (2019-05-10 14:49:36 +0100)

are available in the Git repository at:

  https://gitlab.com/huth/qemu.git tags/pull-request-2019-05-13

for you to fetch changes up to 704d9892561d3b7ac4728296240a1b3ccfa2045a:

  hw/arm: Remove hard-enablement of the remaining PCI devices (2019-05-13 09:36:32 +0200)

----------------------------------------------------------------
Kconfig settings for the Arm machines
(v3: Added the config-devices.mak.d patch to fix the dependencies)
----------------------------------------------------------------

Thomas Huth (29):
      hw/pci/pci-stub: Add msi_enabled() and msi_notify() to the pci stubs
      Makefile: Fix inclusion of the config-devices.mak.d Kconfig dependencies
      hw/ide/ahci: Add a Kconfig switch for the AHCI-ICH9 device
      hw/arm: Express dependencies of the exynos machines with Kconfig
      hw/arm: Express dependencies of the highbank machines with Kconfig
      hw/arm: Express dependencies of integratorcp with Kconfig
      hw/arm: Express dependencies of the fsl-imx31 machine with Kconfig
      hw/arm: Express dependencies of musicpal with Kconfig
      hw/arm: Express dependencies of the OMAP machines with Kconfig
      hw/arm: Express dependencies of stellaris with Kconfig
      hw/arm: Express dependencies of realview, versatile and vexpress with Kconfig
      hw/arm: Express dependencies of the PXA2xx machines with Kconfig
      hw/arm: Express dependencies of xilinx-zynq with Kconfig
      hw/arm: Express dependencies of collie with Kconfig
      hw/arm: Express dependencies of the aspeed boards with Kconfig
      hw/arm: Express dependencies of the virt machine with Kconfig
      hw/arm: Express dependencies of netduino / stm32f2xx with Kconfig
      hw/arm: Express dependencies of allwinner / cubieboard with Kconfig
      hw/arm: Express dependencies of the MPS2 boards with Kconfig
      hw/arm: Express dependencies of the raspi machines with Kconfig
      hw/arm: Express dependencies of canon-a1100 with Kconfig
      hw/arm: Express dependencies of sabrelite with Kconfig
      hw/arm: Express dependencies of the MSF2 / EMCRAFT_SF2 machine with Kconfig
      hw/arm: Express dependencies of the remaining IMX boards with Kconfig
      hw/arm: Express dependencies of the microbit / nrf51 machine with Kconfig
      hw/arm: Express dependencies of the ZynqMP zcu102 machine with Kconfig
      hw/arm: Express dependencies of the xlnx-versal-virt machine with Kconfig
      hw/arm: Express dependencies of the musca machines with Kconfig
      hw/arm: Remove hard-enablement of the remaining PCI devices

 Makefile                            |   2 +-
 configure                           |   2 +-
 default-configs/aarch64-softmmu.mak |   5 -
 default-configs/arm-softmmu.mak     | 179 ++++----------------
 docs/devel/kconfig.rst              |   2 +-
 hw/arm/Kconfig                      | 317 +++++++++++++++++++++++++++++++++++-
 hw/arm/Makefile.objs                |  25 ++-
 hw/display/Kconfig                  |   3 +
 hw/i2c/Kconfig                      |   2 +-
 hw/i386/Kconfig                     |   2 +-
 hw/ide/Kconfig                      |   6 +-
 hw/ide/Makefile.objs                |   2 +-
 hw/misc/Kconfig                     |   2 +
 hw/pci/pci-stub.c                   |  11 ++
 14 files changed, 387 insertions(+), 173 deletions(-)


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

* [Qemu-devel] [PULL v3 02/29] Makefile: Fix inclusion of the config-devices.mak.d Kconfig dependencies
  2019-05-13  8:29 [Qemu-devel] [PULL v3 00/29] Kconfig for Arm Thomas Huth
@ 2019-05-13  8:29 ` Thomas Huth
  2019-05-13  8:29 ` [Qemu-devel] [PULL v3 03/29] hw/ide/ahci: Add a Kconfig switch for the AHCI-ICH9 device Thomas Huth
  2019-05-13 16:53 ` [Qemu-devel] [PULL v3 00/29] Kconfig for Arm Peter Maydell
  2 siblings, 0 replies; 4+ messages in thread
From: Thomas Huth @ 2019-05-13  8:29 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel; +Cc: qemu-arm

The Makefile tries to include device Kconfig dependencies via

 -include $(SUBDIR_DEVICES_MAK_DEP)

and thus expects files that match *-softmmu/config-devices.mak.d ...
however, the minikconf script currently generates files a la
"*-softmmu-config.devices.mak.d" instead, so the dependency files
simply got ignored so far. For example, after a "touch hw/arm/Kconfig",
the arm-softmmu/config-devices.mak file is currently not re-generated.
Fix it by putting the dependency files in the *-softmmu folders now.

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 Makefile               | 2 +-
 configure              | 2 +-
 docs/devel/kconfig.rst | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 4a8ae0ef95..66d5c65156 100644
--- a/Makefile
+++ b/Makefile
@@ -350,7 +350,7 @@ endif
 # This has to be kept in sync with Kconfig.host.
 MINIKCONF_ARGS = \
     $(CONFIG_MINIKCONF_MODE) \
-    $@ $*-config.devices.mak.d $< $(MINIKCONF_INPUTS) \
+    $@ $*/config-devices.mak.d $< $(MINIKCONF_INPUTS) \
     CONFIG_KVM=$(CONFIG_KVM) \
     CONFIG_SPICE=$(CONFIG_SPICE) \
     CONFIG_IVSHMEM=$(CONFIG_IVSHMEM) \
diff --git a/configure b/configure
index 63f312bd1f..8999698bc2 100755
--- a/configure
+++ b/configure
@@ -1832,7 +1832,7 @@ exit 0
 fi
 
 # Remove old dependency files to make sure that they get properly regenerated
-rm -f *-config-devices.mak.d
+rm -f */config-devices.mak.d
 
 if test -z "$python"
 then
diff --git a/docs/devel/kconfig.rst b/docs/devel/kconfig.rst
index cce146f87d..d6f8eb0977 100644
--- a/docs/devel/kconfig.rst
+++ b/docs/devel/kconfig.rst
@@ -299,7 +299,7 @@ and also listed as follows in the top-level Makefile's ``MINIKCONF_ARGS``
 variable::
 
     MINIKCONF_ARGS = \
-      $@ $*-config.devices.mak.d $< $(MINIKCONF_INPUTS) \
+      $@ $*/config-devices.mak.d $< $(MINIKCONF_INPUTS) \
       CONFIG_KVM=$(CONFIG_KVM) \
       CONFIG_SPICE=$(CONFIG_SPICE) \
       CONFIG_TPM=$(CONFIG_TPM) \
-- 
2.21.0



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

* [Qemu-devel] [PULL v3 03/29] hw/ide/ahci: Add a Kconfig switch for the AHCI-ICH9 device
  2019-05-13  8:29 [Qemu-devel] [PULL v3 00/29] Kconfig for Arm Thomas Huth
  2019-05-13  8:29 ` [Qemu-devel] [PULL v3 02/29] Makefile: Fix inclusion of the config-devices.mak.d Kconfig dependencies Thomas Huth
@ 2019-05-13  8:29 ` Thomas Huth
  2019-05-13 16:53 ` [Qemu-devel] [PULL v3 00/29] Kconfig for Arm Peter Maydell
  2 siblings, 0 replies; 4+ messages in thread
From: Thomas Huth @ 2019-05-13  8:29 UTC (permalink / raw)
  To: Peter Maydell, qemu-devel; +Cc: qemu-arm

Some of our machines (like the ARM cubieboard) use CONFIG_AHCI for an AHCI
sysbus device, but do not use CONFIG_PCI since they do not feature a PCI
bus. With CONFIG_AHCI but without CONFIG_PCI, currently linking fails:

    ../hw/ide/ich.o: In function `pci_ich9_ahci_realize':
    hw/ide/ich.c:124: undefined reference to `pci_allocate_irq'
    hw/ide/ich.c:126: undefined reference to `pci_register_bar'
    hw/ide/ich.c:128: undefined reference to `pci_register_bar'
    hw/ide/ich.c:131: undefined reference to `pci_add_capability'
    hw/ide/ich.c:147: undefined reference to `msi_init'
    ../hw/ide/ich.o: In function `pci_ich9_uninit':
    hw/ide/ich.c:158: undefined reference to `msi_uninit'
    ../hw/ide/ich.o:(.data.rel+0x50): undefined reference to `vmstate_pci_device'

We must only compile ich.c if CONFIG_PCI is available, too, so introduce a
new config switch for this device.

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Acked-by: John Snow <jsnow@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 hw/i386/Kconfig      | 2 +-
 hw/ide/Kconfig       | 6 +++++-
 hw/ide/Makefile.objs | 2 +-
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/hw/i386/Kconfig b/hw/i386/Kconfig
index a6aed7c131..9817888216 100644
--- a/hw/i386/Kconfig
+++ b/hw/i386/Kconfig
@@ -80,7 +80,7 @@ config Q35
     select PC_ACPI
     select PCI_EXPRESS_Q35
     select LPC_ICH9
-    select AHCI
+    select AHCI_ICH9
     select DIMM
     select SMBIOS
     select VMPORT
diff --git a/hw/ide/Kconfig b/hw/ide/Kconfig
index ab47b6a7a3..5d9106b1ac 100644
--- a/hw/ide/Kconfig
+++ b/hw/ide/Kconfig
@@ -43,10 +43,14 @@ config MICRODRIVE
     select IDE_QDEV
 
 config AHCI
+    bool
+    select IDE_QDEV
+
+config AHCI_ICH9
     bool
     default y if PCI_DEVICES
     depends on PCI
-    select IDE_QDEV
+    select AHCI
 
 config IDE_SII3112
     bool
diff --git a/hw/ide/Makefile.objs b/hw/ide/Makefile.objs
index a142add90e..faf04e0209 100644
--- a/hw/ide/Makefile.objs
+++ b/hw/ide/Makefile.objs
@@ -9,6 +9,6 @@ common-obj-$(CONFIG_IDE_MMIO) += mmio.o
 common-obj-$(CONFIG_IDE_VIA) += via.o
 common-obj-$(CONFIG_MICRODRIVE) += microdrive.o
 common-obj-$(CONFIG_AHCI) += ahci.o
-common-obj-$(CONFIG_AHCI) += ich.o
+common-obj-$(CONFIG_AHCI_ICH9) += ich.o
 common-obj-$(CONFIG_ALLWINNER_A10) += ahci-allwinner.o
 common-obj-$(CONFIG_IDE_SII3112) += sii3112.o
-- 
2.21.0



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

* Re: [Qemu-devel] [PULL v3 00/29] Kconfig for Arm
  2019-05-13  8:29 [Qemu-devel] [PULL v3 00/29] Kconfig for Arm Thomas Huth
  2019-05-13  8:29 ` [Qemu-devel] [PULL v3 02/29] Makefile: Fix inclusion of the config-devices.mak.d Kconfig dependencies Thomas Huth
  2019-05-13  8:29 ` [Qemu-devel] [PULL v3 03/29] hw/ide/ahci: Add a Kconfig switch for the AHCI-ICH9 device Thomas Huth
@ 2019-05-13 16:53 ` Peter Maydell
  2 siblings, 0 replies; 4+ messages in thread
From: Peter Maydell @ 2019-05-13 16:53 UTC (permalink / raw)
  To: Thomas Huth; +Cc: qemu-arm, QEMU Developers

On Mon, 13 May 2019 at 09:29, Thomas Huth <thuth@redhat.com> wrote:
>
>  Hi Peter,
>
> the following changes since commit efb4f3b62c69383a7308d7b739a3193e7c0ccae8:
>
>   Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging (2019-05-10 14:49:36 +0100)
>
> are available in the Git repository at:
>
>   https://gitlab.com/huth/qemu.git tags/pull-request-2019-05-13
>
> for you to fetch changes up to 704d9892561d3b7ac4728296240a1b3ccfa2045a:
>
>   hw/arm: Remove hard-enablement of the remaining PCI devices (2019-05-13 09:36:32 +0200)
>
> ----------------------------------------------------------------
> Kconfig settings for the Arm machines
> (v3: Added the config-devices.mak.d patch to fix the dependencies)


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/4.1
for any user-visible changes.

-- PMM


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

end of thread, other threads:[~2019-05-13 16:54 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-13  8:29 [Qemu-devel] [PULL v3 00/29] Kconfig for Arm Thomas Huth
2019-05-13  8:29 ` [Qemu-devel] [PULL v3 02/29] Makefile: Fix inclusion of the config-devices.mak.d Kconfig dependencies Thomas Huth
2019-05-13  8:29 ` [Qemu-devel] [PULL v3 03/29] hw/ide/ahci: Add a Kconfig switch for the AHCI-ICH9 device Thomas Huth
2019-05-13 16:53 ` [Qemu-devel] [PULL v3 00/29] Kconfig for Arm Peter Maydell

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