[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v7 08/12] arm: add ALL, QEMU, Rcar3 and MPSoC configs

Hello Stefano,

On 07.07.18 02:13, Stefano Stabellini wrote:
Add a "Platform Support" choice with four kconfig options: QEMU, RCAR3,
MPSOC and ALL. They enable the required options for their hardware
platform. ALL enables all available platforms and it's the default. It
doesn't automatically select any of the related drivers, otherwise they
cannot be disabled. ALL is implemented by selecting hidden options
corresponding to QEMU, MPSOC and RCAR3.

In the case of the MPSOC that has a platform file under
arch/arm/platforms/, build the file if MPSOC.

Signed-off-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
CC: artem_mygaiev@xxxxxxxx
CC: volodymyr_babchuk@xxxxxxxx

Changes in v5:
- turn platform support into a choice
- add ALL

Changes in v4:
- fix GICv3/GICV3
- default y to all options
- build xilinx-zynqmp if MPSOC
  xen/arch/arm/Kconfig            |  2 ++
  xen/arch/arm/platforms/Kconfig  | 55 +++++++++++++++++++++++++++++++++++++++++
  xen/arch/arm/platforms/Makefile |  2 +-
  3 files changed, 58 insertions(+), 1 deletion(-)
  create mode 100644 xen/arch/arm/platforms/Kconfig

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 2b87111..75cacfb 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -213,6 +213,8 @@ config ARM64_HARDEN_BRANCH_PREDICTOR
      def_bool y if ARM_32 && HARDEN_BRANCH_PREDICTOR
+source "arch/arm/platforms/Kconfig"
  source "common/Kconfig"
source "drivers/Kconfig"
diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfig
new file mode 100644
index 0000000..07c5930
--- /dev/null
+++ b/xen/arch/arm/platforms/Kconfig
@@ -0,0 +1,55 @@
+       prompt "Platform Support"
+       default ALL
+       ---help---
+       Choose which hardware platform to enable in Xen.
+       If unsure, choose ALL.
+config ALL
I would suggest to separate it into ALL_ARM32 and ALL_ARM64. Then, in a makefile use them for platforms instead of raw ARM32 and ARM64. This would make such change really useful: disabling ALL_x will drop all odd platform code.

+       bool "All Platforms"
+       select MPSOC_PLATFORM
+       select QEMU_PLATFORM
+       select RCAR3_PLATFORM
+       ---help---
+       Enable support for all available hardware platforms. It doesn't
+       automatically select any of the related drivers.
+config QEMU
+       bool "QEMU aarch virt machine support"
+       depends on ARM_64
+       select QEMU_PLATFORM
+       select GICV3
+       select HAS_PL011
+       ---help---
+       Enable all the required drivers for QEMU aarch64 virt emulated
+       machine.
+config RCAR3
+       bool "Renesas RCar3 support"
+       depends on ARM_64
+       select RCAR3_PLATFORM
+       select HAS_SCIF
+       ---help---
+       Enable all the required drivers for Renesas RCar3
+config MPSOC
+       bool "Xilinx Ultrascale+ MPSoC support"
+       depends on ARM_64
+       select MPSOC_PLATFORM
+       select HAS_CADENCE_UART
+       select ARM_SMMU
+       ---help---
+       Enable all the required drivers for Xilinx Ultrascale+ MPSoC
+       bool
+       bool
Shouldn't MPSOC_PLATFORM be dependent on ARM64?

+       bool
diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile
index 80e555c..a79bdb9 100644
--- a/xen/arch/arm/platforms/Makefile
+++ b/xen/arch/arm/platforms/Makefile
@@ -8,4 +8,4 @@ obj-$(CONFIG_ARM_64) += seattle.o
  obj-y += sunxi.o
  obj-$(CONFIG_ARM_64) += thunderx.o
  obj-$(CONFIG_ARM_64) += xgene-storm.o
-obj-$(CONFIG_ARM_64) += xilinx-zynqmp.o
+obj-$(CONFIG_MPSOC_PLATFORM)  += xilinx-zynqmp.o

*Andrii Anisov*

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.