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

Re: [Xen-devel] [PATCH v3 09/10] arm: add QEMU, Rcar3 and MPSoC configs



Hi Stefano,

On 23/05/18 01:25, Stefano Stabellini wrote:
Add a "Platform Support" menu with three umbrella kconfig options: QEMU,
RCAR3 and MPSOC. They enable the required options for their hardware
platform.

They are introduced for convience: the user will be able to simply open
the menu and enable the right config for her platform.

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

---
Note that this approach has a limitation: it is not possible to "select
a range". In other words, using tiny.config NR_CPUS is set to 4. It is
not possible to increase it to 8 from config RCAR3.

What you can do is:

config NR_CPUS
        range ...
        default "8" if (RCAR3)
        default "x" if (QEMU)
        default 64

This would imply to move NR_CPUS in arch/{arm,x86}/Kconfig.

This solution is not very nice, but at least would provide a better experience to the user.


Suggestions are welcome.
---
  xen/arch/arm/Kconfig           |  2 ++
  xen/arch/arm/platforms/Kconfig | 30 ++++++++++++++++++++++++++++++
  2 files changed, 32 insertions(+)
  create mode 100644 xen/arch/arm/platforms/Kconfig

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index a5a6943..b5ddd12 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -245,6 +245,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 0000000..0eafbef
--- /dev/null
+++ b/xen/arch/arm/platforms/Kconfig
@@ -0,0 +1,30 @@
+menu "Platform Support"
+
+config QEMU
+       bool "QEMU aarch virt machine support"
+       default n
The default value is confusing here. The default .config will support QEMU but not select that.

While I don't yet buy the argument, some users will also want to remove platform specific code (Andrii suggest that). This would means by default support for a specific platform will not be in Xen.

Furthermore, very likely, the end user will select either one board (e.g automotive) or all of them (e.g distribution).

So I think it would be better to do a choice list:
        - All -> Board support for all board added. Drivers selected by the user
        - MPSOC -> Select board support for Xilinx + appropriate drivers
        - RCAR3 -> Select board support for RCAR3 + appropriate drivers

The tiny.config would select ALL. This could then be refined by selecting a specific platform.

Cheers,

--
Julien Grall

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

 


Rackspace

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