[Qemu-devel] [PATCH for-QEMU-4.1 v5 04/29] hw/arm: Express dependencies of the exynos machines with Kconfig

Thomas Huth posted 29 patches 6 years, 9 months ago
Maintainers: Peter Maydell <peter.maydell@linaro.org>, "Michael S. Tsirkin" <mst@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>, John Snow <jsnow@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
There is a newer version of this series
[Qemu-devel] [PATCH for-QEMU-4.1 v5 04/29] hw/arm: Express dependencies of the exynos machines with Kconfig
Posted by Thomas Huth 6 years, 9 months ago
Add Kconfig dependencies for the Exynos-related boards (nuri and
smdkc210).
This patch is slightly based on earlier work by Ákos Kovács (i.e.
his "hw/arm/Kconfig: Add ARM Kconfig" patch).

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 default-configs/arm-softmmu.mak | 17 ++++++-----------
 hw/arm/Kconfig                  | 10 ++++++++++
 2 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
index 613d19a06d..2a11e76cc7 100644
--- a/default-configs/arm-softmmu.mak
+++ b/default-configs/arm-softmmu.mak
@@ -1,8 +1,14 @@
 # Default configuration for arm-softmmu
 
+# TODO: ARM_V7M is currently always required - make this more flexible!
+CONFIG_ARM_V7M=y
+
 CONFIG_PCI=y
 CONFIG_PCI_DEVICES=y
 CONFIG_PCI_TESTDEV=y
+
+CONFIG_EXYNOS4=y
+
 CONFIG_VGA=y
 CONFIG_NAND=y
 CONFIG_ECC=y
@@ -26,7 +32,6 @@ CONFIG_ADS7846=y
 CONFIG_MAX111X=y
 CONFIG_SSI_SD=y
 CONFIG_SSI_M25P80=y
-CONFIG_LAN9118=y
 CONFIG_SMC91C111=y
 CONFIG_ALLWINNER_EMAC=y
 CONFIG_IMX_FEC=y
@@ -36,21 +41,15 @@ CONFIG_PFLASH_CFI01=y
 CONFIG_PFLASH_CFI02=y
 CONFIG_MICRODRIVE=y
 CONFIG_USB_MUSB=y
-CONFIG_USB_EHCI_SYSBUS=y
 CONFIG_PLATFORM_BUS=y
 CONFIG_VIRTIO_MMIO=y
 
 CONFIG_ARM11MPCORE=y
-CONFIG_A9MPCORE=y
 CONFIG_A15MPCORE=y
 
-CONFIG_ARM_V7M=y
 CONFIG_NETDUINO2=y
 
-CONFIG_ARM_GIC=y
 CONFIG_ARM_TIMER=y
-CONFIG_ARM_MPTIMER=y
-CONFIG_A9_GTIMER=y
 CONFIG_PL011=y
 CONFIG_PL022=y
 CONFIG_PL031=y
@@ -61,11 +60,9 @@ CONFIG_PL080=y
 CONFIG_PL110=y
 CONFIG_PL181=y
 CONFIG_PL190=y
-CONFIG_PL310=y
 CONFIG_PL330=y
 CONFIG_CADENCE=y
 CONFIG_XGMAC=y
-CONFIG_EXYNOS4=y
 CONFIG_PXA2XX=y
 CONFIG_BITBANG_I2C=y
 CONFIG_FRAMEBUFFER=y
@@ -73,7 +70,6 @@ CONFIG_XILINX_SPIPS=y
 CONFIG_ZYNQ_DEVCFG=y
 
 CONFIG_ARM11SCU=y
-CONFIG_A9SCU=y
 CONFIG_DIGIC=y
 CONFIG_MARVELL_88W8618=y
 CONFIG_OMAP=y
@@ -123,7 +119,6 @@ CONFIG_VERSATILE_I2C=y
 CONFIG_PCI_EXPRESS=y
 CONFIG_PCI_EXPRESS_GENERIC_BRIDGE=y
 
-CONFIG_SDHCI=y
 CONFIG_INTEGRATOR=y
 CONFIG_INTEGRATOR_DEBUG=y
 
diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index d298fbdc89..acd07b2add 100644
--- a/hw/arm/Kconfig
+++ b/hw/arm/Kconfig
@@ -8,7 +8,13 @@ config DIGIC
 
 config EXYNOS4
     bool
+    select A9MPCORE
+    select I2C
+    select LAN9118
+    select PL310 # cache controller
     select PTIMER
+    select SDHCI
+    select USB_EHCI_SYSBUS
 
 config HIGHBANK
     bool
@@ -104,6 +110,10 @@ config ZAURUS
 
 config A9MPCORE
     bool
+    select A9_GTIMER
+    select A9SCU       # snoop control unit
+    select ARM_GIC
+    select ARM_MPTIMER
 
 config A15MPCORE
     bool
-- 
2.21.0


Re: [Qemu-devel] [PATCH for-QEMU-4.1 v5 04/29] hw/arm: Express dependencies of the exynos machines with Kconfig
Posted by Philippe Mathieu-Daudé 6 years, 9 months ago
On 4/18/19 8:00 PM, Thomas Huth wrote:
> Add Kconfig dependencies for the Exynos-related boards (nuri and
> smdkc210).
> This patch is slightly based on earlier work by Ákos Kovács (i.e.
> his "hw/arm/Kconfig: Add ARM Kconfig" patch).
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  default-configs/arm-softmmu.mak | 17 ++++++-----------
>  hw/arm/Kconfig                  | 10 ++++++++++
>  2 files changed, 16 insertions(+), 11 deletions(-)
> 
> diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-softmmu.mak
> index 613d19a06d..2a11e76cc7 100644
> --- a/default-configs/arm-softmmu.mak
> +++ b/default-configs/arm-softmmu.mak
> @@ -1,8 +1,14 @@
>  # Default configuration for arm-softmmu
>  
> +# TODO: ARM_V7M is currently always required - make this more flexible!
> +CONFIG_ARM_V7M=y
> +
>  CONFIG_PCI=y
>  CONFIG_PCI_DEVICES=y
>  CONFIG_PCI_TESTDEV=y
> +
> +CONFIG_EXYNOS4=y
> +
>  CONFIG_VGA=y
>  CONFIG_NAND=y
>  CONFIG_ECC=y
> @@ -26,7 +32,6 @@ CONFIG_ADS7846=y
>  CONFIG_MAX111X=y
>  CONFIG_SSI_SD=y
>  CONFIG_SSI_M25P80=y
> -CONFIG_LAN9118=y
>  CONFIG_SMC91C111=y
>  CONFIG_ALLWINNER_EMAC=y
>  CONFIG_IMX_FEC=y
> @@ -36,21 +41,15 @@ CONFIG_PFLASH_CFI01=y
>  CONFIG_PFLASH_CFI02=y
>  CONFIG_MICRODRIVE=y
>  CONFIG_USB_MUSB=y
> -CONFIG_USB_EHCI_SYSBUS=y
>  CONFIG_PLATFORM_BUS=y
>  CONFIG_VIRTIO_MMIO=y
>  
>  CONFIG_ARM11MPCORE=y
> -CONFIG_A9MPCORE=y
>  CONFIG_A15MPCORE=y
>  
> -CONFIG_ARM_V7M=y
>  CONFIG_NETDUINO2=y
>  
> -CONFIG_ARM_GIC=y
>  CONFIG_ARM_TIMER=y
> -CONFIG_ARM_MPTIMER=y
> -CONFIG_A9_GTIMER=y
>  CONFIG_PL011=y
>  CONFIG_PL022=y
>  CONFIG_PL031=y
> @@ -61,11 +60,9 @@ CONFIG_PL080=y
>  CONFIG_PL110=y
>  CONFIG_PL181=y
>  CONFIG_PL190=y
> -CONFIG_PL310=y
>  CONFIG_PL330=y
>  CONFIG_CADENCE=y
>  CONFIG_XGMAC=y
> -CONFIG_EXYNOS4=y
>  CONFIG_PXA2XX=y
>  CONFIG_BITBANG_I2C=y
>  CONFIG_FRAMEBUFFER=y
> @@ -73,7 +70,6 @@ CONFIG_XILINX_SPIPS=y
>  CONFIG_ZYNQ_DEVCFG=y
>  
>  CONFIG_ARM11SCU=y
> -CONFIG_A9SCU=y
>  CONFIG_DIGIC=y
>  CONFIG_MARVELL_88W8618=y
>  CONFIG_OMAP=y
> @@ -123,7 +119,6 @@ CONFIG_VERSATILE_I2C=y
>  CONFIG_PCI_EXPRESS=y
>  CONFIG_PCI_EXPRESS_GENERIC_BRIDGE=y
>  
> -CONFIG_SDHCI=y
>  CONFIG_INTEGRATOR=y
>  CONFIG_INTEGRATOR_DEBUG=y
>  
> diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
> index d298fbdc89..acd07b2add 100644
> --- a/hw/arm/Kconfig
> +++ b/hw/arm/Kconfig
> @@ -8,7 +8,13 @@ config DIGIC
>  
>  config EXYNOS4
>      bool
> +    select A9MPCORE
> +    select I2C
> +    select LAN9118
> +    select PL310 # cache controller
>      select PTIMER
> +    select SDHCI
> +    select USB_EHCI_SYSBUS

Same comment here, you disable selectors that are required by other
machines (That would fail to build if disable EXYNOS4).

Since you add them to each machine later,
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

>  
>  config HIGHBANK
>      bool
> @@ -104,6 +110,10 @@ config ZAURUS
>  
>  config A9MPCORE
>      bool
> +    select A9_GTIMER
> +    select A9SCU       # snoop control unit
> +    select ARM_GIC
> +    select ARM_MPTIMER
>  
>  config A15MPCORE
>      bool
>