[Xen-devel] [PATCH v8 08/11] arm: add ALL_PLAT, QEMU, Rcar3 and MPSoC configs

2018-07-30 Thread Stefano Stabellini
Add a "Platform Support" choice with four kconfig options: QEMU, RCAR3,
MPSOC and ALL_PLAT. They enable the required options for their hardware
platform. ALL_PLAT 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_PLAT is implemented by using hidden options
with default values depending on ALL_PLAT.

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 
CC: artem_myga...@epam.com
CC: volodymyr_babc...@epam.com

---
Changes in v8:
- remove QEMU_PLATFORM and RCAR3_PLATFORM that are currently unused
- remove selects from ALL
- rename ALL to ALL_PLAT
- introduce ALL64_PLAT and ALL32_PLAT

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  | 52 +
 xen/arch/arm/platforms/Makefile |  2 +-
 3 files changed, 55 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
 config ARM32_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 000..409d3f8
--- /dev/null
+++ b/xen/arch/arm/platforms/Kconfig
@@ -0,0 +1,52 @@
+choice
+   prompt "Platform Support"
+   default ALL_PLAT
+   ---help---
+   Choose which hardware platform to enable in Xen.
+
+   If unsure, choose ALL_PLAT.
+
+config ALL_PLAT
+   bool "All Platforms"
+   ---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 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 HAS_SCIF
+   ---help---
+   Enable all the required drivers for Renesas RCar3
+
+config MPSOC
+   bool "Xilinx Ultrascale+ MPSoC support"
+   depends on ARM_64
+   select HAS_CADENCE_UART
+   select ARM_SMMU
+   ---help---
+   Enable all the required drivers for Xilinx Ultrascale+ MPSoC
+
+endchoice
+
+config ALL64_PLAT
+   bool
+   default (ALL_PLAT && ARM_64)
+
+config ALL32_PLAT
+   bool
+   default (ALL_PLAT && ARM_32)
+
+config MPSOC_PLATFORM
+   bool
+   default (ALL64_PLAT || MPSOC)
+
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
-- 
1.9.1


___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v8 08/11] arm: add ALL_PLAT, QEMU, Rcar3 and MPSoC configs

2018-07-31 Thread Julien Grall

Hi Stefano,

On 30/07/18 18:48, Stefano Stabellini wrote:

Add a "Platform Support" choice with four kconfig options: QEMU, RCAR3,
MPSOC and ALL_PLAT. They enable the required options for their hardware
platform. ALL_PLAT 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_PLAT is implemented by using hidden options
with default values depending on ALL_PLAT.

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 


Acked-by: Julien Grall 

Cheers,

--
Julien Grall

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v8 08/11] arm: add ALL_PLAT, QEMU, Rcar3 and MPSoC configs

2018-08-01 Thread Andrii Anisov

Hello Stefano,


On 30.07.18 20:48, Stefano Stabellini wrote:

Add a "Platform Support" choice with four kconfig options: QEMU, RCAR3,
MPSOC and ALL_PLAT. They enable the required options for their hardware
platform. ALL_PLAT 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_PLAT is implemented by using hidden options
with default values depending on ALL_PLAT.

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 

Reviewed-by: Andrii Anisov 

--

*Andrii Anisov*



___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v8 08/11] arm: add ALL_PLAT, QEMU, Rcar3 and MPSoC configs

2018-08-01 Thread Stefano Stabellini
On Wed, 1 Aug 2018, Andrii Anisov wrote:
> Hello Stefano,
> 
> 
> On 30.07.18 20:48, Stefano Stabellini wrote:
> > Add a "Platform Support" choice with four kconfig options: QEMU, RCAR3,
> > MPSOC and ALL_PLAT. They enable the required options for their hardware
> > platform. ALL_PLAT 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_PLAT is implemented by using hidden options
> > with default values depending on ALL_PLAT.
> > 
> > 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 
> Reviewed-by: Andrii Anisov 

Thank you!

___
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel