From: Thomas Huth <thuth@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org
Subject: [Qemu-arm] [PULL 02/28] hw/ide/ahci: Add a Kconfig switch for the AHCI-ICH9 device
Date: Sun, 5 May 2019 15:56:48 +0200 [thread overview]
Message-ID: <20190505135714.11277-3-thuth@redhat.com> (raw)
In-Reply-To: <20190505135714.11277-1-thuth@redhat.com>
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/ide/Kconfig | 6 +++++-
hw/ide/Makefile.objs | 2 +-
2 files changed, 6 insertions(+), 2 deletions(-)
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
WARNING: multiple messages have this Message-ID (diff)
From: Thomas Huth <thuth@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org
Subject: [Qemu-devel] [PULL 02/28] hw/ide/ahci: Add a Kconfig switch for the AHCI-ICH9 device
Date: Sun, 5 May 2019 15:56:48 +0200 [thread overview]
Message-ID: <20190505135714.11277-3-thuth@redhat.com> (raw)
In-Reply-To: <20190505135714.11277-1-thuth@redhat.com>
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/ide/Kconfig | 6 +++++-
hw/ide/Makefile.objs | 2 +-
2 files changed, 6 insertions(+), 2 deletions(-)
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
next prev parent reply other threads:[~2019-05-05 13:57 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-05 13:56 [Qemu-arm] [PULL 00/28] Kconfig for Arm machines Thomas Huth
2019-05-05 13:56 ` [Qemu-devel] " Thomas Huth
2019-05-05 13:56 ` [Qemu-arm] [PULL 01/28] hw/pci/pci-stub: Add msi_enabled() and msi_notify() to the pci stubs Thomas Huth
2019-05-05 13:56 ` [Qemu-devel] " Thomas Huth
2019-05-05 13:56 ` Thomas Huth [this message]
2019-05-05 13:56 ` [Qemu-devel] [PULL 02/28] hw/ide/ahci: Add a Kconfig switch for the AHCI-ICH9 device Thomas Huth
2019-05-05 13:56 ` [Qemu-arm] [PULL 03/28] hw/arm: Express dependencies of the exynos machines with Kconfig Thomas Huth
2019-05-05 13:56 ` [Qemu-devel] " Thomas Huth
2019-05-05 13:56 ` [Qemu-arm] [PULL 04/28] hw/arm: Express dependencies of the highbank " Thomas Huth
2019-05-05 13:56 ` [Qemu-devel] " Thomas Huth
2020-09-30 15:38 ` Philippe Mathieu-Daudé
2020-09-30 16:10 ` Thomas Huth
2020-09-30 16:17 ` Philippe Mathieu-Daudé
2019-05-05 13:56 ` [Qemu-devel] [PULL 05/28] hw/arm: Express dependencies of integratorcp " Thomas Huth
2019-05-05 13:56 ` [Qemu-arm] [PULL 06/28] hw/arm: Express dependencies of the fsl-imx31 machine " Thomas Huth
2019-05-05 13:56 ` [Qemu-devel] " Thomas Huth
2019-05-05 13:56 ` [Qemu-arm] [PULL 07/28] hw/arm: Express dependencies of musicpal " Thomas Huth
2019-05-05 13:56 ` [Qemu-devel] " Thomas Huth
2019-05-05 13:56 ` [Qemu-arm] [PULL 08/28] hw/arm: Express dependencies of the OMAP machines " Thomas Huth
2019-05-05 13:56 ` [Qemu-devel] " Thomas Huth
2019-05-05 13:56 ` [Qemu-arm] [PULL 09/28] hw/arm: Express dependencies of stellaris " Thomas Huth
2019-05-05 13:56 ` [Qemu-devel] " Thomas Huth
2019-05-05 13:56 ` [Qemu-arm] [PULL 10/28] hw/arm: Express dependencies of realview, versatile and vexpress " Thomas Huth
2019-05-05 13:56 ` [Qemu-devel] " Thomas Huth
2019-05-05 13:56 ` [Qemu-devel] [PULL 11/28] hw/arm: Express dependencies of the PXA2xx machines " Thomas Huth
2019-05-05 13:56 ` [Qemu-devel] [PULL 12/28] hw/arm: Express dependencies of xilinx-zynq " Thomas Huth
2019-05-05 13:56 ` [Qemu-arm] [PULL 13/28] hw/arm: Express dependencies of collie " Thomas Huth
2019-05-05 13:56 ` [Qemu-devel] " Thomas Huth
2019-05-05 13:57 ` [Qemu-devel] [PULL 14/28] hw/arm: Express dependencies of the aspeed boards " Thomas Huth
2019-05-05 13:57 ` [Qemu-devel] [PULL 15/28] hw/arm: Express dependencies of the virt machine " Thomas Huth
2019-05-05 13:57 ` [Qemu-arm] [PULL 16/28] hw/arm: Express dependencies of netduino / stm32f2xx " Thomas Huth
2019-05-05 13:57 ` [Qemu-devel] " Thomas Huth
2019-05-05 13:57 ` [Qemu-arm] [PULL 17/28] hw/arm: Express dependencies of allwinner / cubieboard " Thomas Huth
2019-05-05 13:57 ` [Qemu-devel] " Thomas Huth
2019-05-05 13:57 ` [Qemu-devel] [PULL 18/28] hw/arm: Express dependencies of the MPS2 boards " Thomas Huth
2019-05-05 13:57 ` [Qemu-devel] [PULL 19/28] hw/arm: Express dependencies of the raspi machines " Thomas Huth
2019-05-05 13:57 ` [Qemu-arm] [PULL 20/28] hw/arm: Express dependencies of canon-a1100 " Thomas Huth
2019-05-05 13:57 ` [Qemu-devel] " Thomas Huth
2019-05-05 13:57 ` [Qemu-arm] [PULL 21/28] hw/arm: Express dependencies of sabrelite " Thomas Huth
2019-05-05 13:57 ` [Qemu-devel] " Thomas Huth
2019-05-05 13:57 ` [Qemu-arm] [PULL 22/28] hw/arm: Express dependencies of the MSF2 / EMCRAFT_SF2 machine " Thomas Huth
2019-05-05 13:57 ` [Qemu-devel] " Thomas Huth
2019-05-05 13:57 ` [Qemu-arm] [PULL 23/28] hw/arm: Express dependencies of the remaining IMX boards " Thomas Huth
2019-05-05 13:57 ` [Qemu-devel] " Thomas Huth
2019-05-05 13:57 ` [Qemu-arm] [PULL 24/28] hw/arm: Express dependencies of the microbit / nrf51 machine " Thomas Huth
2019-05-05 13:57 ` [Qemu-devel] " Thomas Huth
2019-05-05 13:57 ` [Qemu-arm] [PULL 25/28] hw/arm: Express dependencies of the ZynqMP zcu102 " Thomas Huth
2019-05-05 13:57 ` [Qemu-devel] " Thomas Huth
2019-05-05 13:57 ` [Qemu-devel] [PULL 26/28] hw/arm: Express dependencies of the xlnx-versal-virt " Thomas Huth
2019-05-05 13:57 ` [Qemu-arm] [PULL 27/28] hw/arm: Express dependencies of the musca machines " Thomas Huth
2019-05-05 13:57 ` [Qemu-devel] " Thomas Huth
2019-05-05 13:57 ` [Qemu-devel] [PULL 28/28] hw/arm: Remove hard-enablement of the remaining PCI devices Thomas Huth
2019-05-07 11:01 ` [Qemu-devel] [PULL 00/28] Kconfig for Arm machines Peter Maydell
2019-05-07 11:52 ` [Qemu-arm] " Philippe Mathieu-Daudé
2019-05-07 11:52 ` Philippe Mathieu-Daudé
2019-05-07 12:20 ` [Qemu-arm] " Thomas Huth
2019-05-07 12:20 ` Thomas Huth
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190505135714.11277-3-thuth@redhat.com \
--to=thuth@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.