xen: EXPERT clean-up and introduce UNSUPPORTED

A recent thread [1] has exposed a couple of issues with our current way
of handling EXPERT.

1) It is not obvious that "Configure standard Xen features (expert
users)" is actually the famous EXPERT we keep talking about on xen-devel

2) It is not obvious when we need to enable EXPERT to get a specific
feature

In particular if you want to enable ACPI support so that you can boot
Xen on an ACPI platform, you have to enable EXPERT first. But searching
through the kconfig menu it is really not clear (type '/' and "ACPI"):
nothing in the description tells you that you need to enable EXPERT to
get the option.

So this patch makes things easier by doing two things:

- introduce a new kconfig option UNSUPPORTED which is clearly to enable
  UNSUPPORTED features as defined by SUPPORT.md

- change EXPERT options to UNSUPPORTED where it makes sense: keep
  depending on EXPERT for features made for experts

- tag unsupported features by adding (UNSUPPORTED) to the one-line
  description

- clarify the EXPERT one-line description

[1] https://marc.info/?l=xen-devel&m=160333101228981

Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com> [x86,common]
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
CC: andrew.cooper3@citrix.com
CC: george.dunlap@citrix.com
CC: iwj@xenproject.org
CC: jbeulich@suse.com
CC: julien@xen.org
CC: wl@xen.org
This commit is contained in:
Stefano Stabellini authored and Stefano Stabellini committed 2021-01-28 16:34:01 -08:00
1 parent 6ca5101533
commit d96e5e6c12
5 files changed
+20 -11

No files matched your search

+10 -1
View File
@@ -35,7 +35,7 @@ config DEFCONFIG_LIST
default ARCH_DEFCONFIG
config EXPERT
bool "Configure standard Xen features (expert users)"
bool "Configure EXPERT features"
help
This option allows certain base Xen options and settings
to be disabled or tweaked. This is for specialized environments
@@ -45,6 +45,15 @@ config EXPERT
supported.
default n
config UNSUPPORTED
bool "Configure UNSUPPORTED features"
default EXPERT
help
This option allows certain unsupported Xen options to be changed,
which includes non-security-supported, experimental, and tech
preview features as defined by SUPPORT.md. (Note that if an option
doesn't depend on UNSUPPORTED it doesn't imply that is supported.)
config LTO
bool "Link Time Optimisation"
depends on BROKEN
+3 -3
View File
@@ -32,7 +32,7 @@ menu "Architecture Features"
source "arch/Kconfig"
config ACPI
bool "ACPI (Advanced Configuration and Power Interface) Support" if EXPERT
bool "ACPI (Advanced Configuration and Power Interface) Support (UNSUPPORTED)" if UNSUPPORTED
depends on ARM_64
---help---
@@ -49,7 +49,7 @@ config GICV3
If unsure, say Y
config HAS_ITS
bool "GICv3 ITS MSI controller support" if EXPERT
bool "GICv3 ITS MSI controller support (UNSUPPORTED)" if UNSUPPORTED
depends on GICV3 && !NEW_VGIC
config HVM
@@ -104,7 +104,7 @@ config HARDEN_BRANCH_PREDICTOR
If unsure, say Y.
config TEE
bool "Enable TEE mediators support" if EXPERT
bool "Enable TEE mediators support (UNSUPPORTED)" if UNSUPPORTED
default n
help
This option enables generic TEE mediators support. It allows guests
+3 -3
View File
@@ -147,7 +147,7 @@ config BIGMEM
If unsure, say N.
config HVM_FEP
bool "HVM Forced Emulation Prefix support" if EXPERT
bool "HVM Forced Emulation Prefix support (UNSUPPORTED)" if UNSUPPORTED
default DEBUG
depends on HVM
---help---
@@ -166,7 +166,7 @@ config HVM_FEP
If unsure, say N.
config TBOOT
bool "Xen tboot support" if EXPERT
bool "Xen tboot support (UNSUPPORTED)" if UNSUPPORTED
default y if !PV_SHIM_EXCLUSIVE
select CRYPTO
---help---
@@ -252,7 +252,7 @@ config HYPERV_GUEST
endif
config MEM_SHARING
bool "Xen memory sharing support" if EXPERT
bool "Xen memory sharing support (UNSUPPORTED)" if UNSUPPORTED
depends on HVM
endmenu
+1 -1
View File
@@ -272,7 +272,7 @@ config LATE_HWDOM
If unsure, say N.
config ARGO
bool "Argo: hypervisor-mediated interdomain communication" if EXPERT
bool "Argo: hypervisor-mediated interdomain communication (UNSUPPORTED)" if UNSUPPORTED
---help---
Enables a hypercall for domains to ask the hypervisor to perform
data transfer of messages between domains.
+3 -3
View File
@@ -15,7 +15,7 @@ config SCHED_CREDIT2
optimized for lower latency and higher VM density.
config SCHED_RTDS
bool "RTDS scheduler support (EXPERIMENTAL)"
bool "RTDS scheduler support (UNSUPPORTED)" if UNSUPPORTED
default y
---help---
The RTDS scheduler is a soft and firm real-time scheduler for
@@ -23,14 +23,14 @@ config SCHED_RTDS
in the cloud, and general low-latency workloads.
config SCHED_ARINC653
bool "ARINC653 scheduler support (EXPERIMENTAL)"
bool "ARINC653 scheduler support (UNSUPPORTED)" if UNSUPPORTED
default DEBUG
---help---
The ARINC653 scheduler is a hard real-time scheduler for single
cores, targeted for avionics, drones, and medical devices.
config SCHED_NULL
bool "Null scheduler support (EXPERIMENTAL)"
bool "Null scheduler support (UNSUPPORTED)" if UNSUPPORTED
default y
---help---
The null scheduler is a static, zero overhead scheduler,
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.