[xen staging] arm: add ALL_PLAT, QEMU, Rcar3 and MPSoC configs

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[xen staging] arm: add ALL_PLAT, QEMU, Rcar3 and MPSoC configs

patchbot
commit 6832addfb2832dac63d67a4131b7de00c01ee094
Author:     Stefano Stabellini <[hidden email]>
AuthorDate: Tue Jul 31 08:21:01 2018 -0700
Commit:     Julien Grall <[hidden email]>
CommitDate: Thu Aug 2 12:27:03 2018 +0100

    arm: add ALL_PLAT, QEMU, Rcar3 and MPSoC configs
   
    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 <[hidden email]>
    Acked-by: Julien Grall <[hidden email]>
    Reviewed-by: Andrii Anisov <[hidden email]>
    CC: [hidden email]
    CC: [hidden email]
   
    ---
    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(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 977b55d345..586bc62582 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -222,6 +222,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 0000000000..409d3f8f8f
--- /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 80e555cc14..a79bdb9c08 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
--
generated by git-patchbot for /home/xen/git/xen.git#staging

_______________________________________________
Xen-changelog mailing list
[hidden email]
https://lists.xenproject.org/xen-changelog