From ac77a83e695bc63a14d64db043259254128201a1 Mon Sep 17 00:00:00 2001 From: Christopher Clark Date: Sun, 6 Jan 2019 21:05:30 -0800 Subject: [PATCH] argo: Introduce the Kconfig option to govern inclusion of Argo Defines CONFIG_ARGO when enabled. Default: disabled. When the Kconfig option is enabled, the Argo hypercall implementation will be included, allowing use of the hypervisor-mediated interdomain communication mechanism. Argo is implemented for x86 and ARM hardware platforms. Availability of the option depends on EXPERT and Argo is currently an experimental feature. Signed-off-by: Christopher Clark Acked-by: Jan Beulich === Jan's ack only stands for committing this together with at least one patch actually using the CONFIG_ARGO symbol. v3 added Jan's Ack v2 #01 feedback, Jan: replace def_bool/prompt with bool v1 #02 feedback, Jan: default Kconfig off, use EXPERT, fix whitespace --- xen/common/Kconfig | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/xen/common/Kconfig b/xen/common/Kconfig index 37f850551a43..5e1251e5fac2 100644 --- a/xen/common/Kconfig +++ b/xen/common/Kconfig @@ -200,6 +200,25 @@ config LATE_HWDOM If unsure, say N. +config ARGO + bool "Argo: hypervisor-mediated interdomain communication" if EXPERT = "y" + ---help--- + Enables a hypercall for domains to ask the hypervisor to perform + data transfer of messages between domains. + + This allows communication channels to be established that do not + require any shared memory between domains; the hypervisor is the + entity that each domain interacts with. The hypervisor is able to + enforce Mandatory Access Control policy over the communication. + + If XSM_FLASK is enabled, XSM policy can govern which domains may + communicate via the Argo system. + + This feature does nothing if the "argo" boot parameter is not present. + Argo is disabled at runtime by default. + + If unsure, say N. + menu "Schedulers" visible if EXPERT = "y"