]> xenbits.xensource.com Git - people/dariof/xen.git/commitdiff
xen: Allow EXPERT mode to be selected from the menuconfig directly
authorJulien Grall <jgrall@amazon.com>
Thu, 30 Apr 2020 14:25:48 +0000 (15:25 +0100)
committerJulien Grall <jgrall@amazon.com>
Thu, 14 May 2020 09:20:04 +0000 (10:20 +0100)
EXPERT mode is currently used to gate any options that are in technical
preview or not security supported. At the moment, this is selected by
adding XEN_CONFIG_EXPERT=y on the make command line, or to the
(currently undocumented) top-level .config file.

This makes the option very unintuitive to use: If the user forgets to
add the option when (re)building or when using menuconfig, then
xen/.config will be silently rewritten, leading to behavior which is
very difficult to diagnose.  Adding XEN_CONFIG_EXPERT=y to the
top-level .config is not obvious behavior, particularly as the file is
undocumented.

A lot of the options behind EXPERT would benefit from being more
accessible so users can experiment with them and voice any concerns
before they are fully supported.

To make this option more discoverable and consistent to use, make it
possible to select it from the menuconfig.

This doesn't change the fact a Xen with EXPERT mode selected will not
be security supported.

Signed-off-by: Julien Grall <jgrall@amazon.com>
Signed-off-by: George Dunlap <george.dunlap@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
xen/Kconfig
xen/Makefile

index 120b5f4129939f5e461002278c585f2d8dc26cc1..34c318bfa2c7bacb0fdf2f459a41e3e2b2808104 100644 (file)
@@ -35,7 +35,15 @@ config DEFCONFIG_LIST
        default ARCH_DEFCONFIG
 
 config EXPERT
-       def_bool y if "$(XEN_CONFIG_EXPERT)" = "y"
+       bool "Configure standard Xen features (expert users)"
+       help
+         This option allows certain base Xen options and settings
+         to be disabled or tweaked. This is for specialized environments
+         which can tolerate a "non-standard" Xen.
+         Only use this if you really know what you are doing.
+         Xen binaries built with this option enabled are not security
+         supported.
+       default n
 
 config LTO
        bool "Link Time Optimisation"
index 2b1dacb4975433dec19cd493865ca87acb33e07c..286f374b549f24b45dbc425181293341ac8ad954 100644 (file)
@@ -11,7 +11,6 @@ export XEN_DOMAIN     ?= $(shell ([ -x /bin/dnsdomainname ] && /bin/dnsdomainname) |
 export XEN_BUILD_DATE  ?= $(shell LC_ALL=C date)
 export XEN_BUILD_TIME  ?= $(shell LC_ALL=C date +%T)
 export XEN_BUILD_HOST  ?= $(shell hostname)
-export XEN_CONFIG_EXPERT ?= n
 
 # Best effort attempt to find a python interpreter, defaulting to Python 3 if
 # available.  Fall back to just `python` if `which` is nowhere to be found.