|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [RFC PATCH V4 18/18] libxl: add evtchn_extended_allowed flag
Admins can add "evtchn_extended_allowed = 1" in domain config file to enable
extended event channel ABI for a domain.
Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
CC: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
docs/man/xl.cfg.pod.5 | 10 ++++++++++
tools/libxl/libxl_create.c | 4 ++++
tools/libxl/libxl_types.idl | 1 +
tools/libxl/xl_cmdimpl.c | 3 +++
4 files changed, 18 insertions(+)
diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
index 25523c9..6e9b4ff 100644
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -133,6 +133,16 @@ the same time, achieving efficient utilization of the
host's CPUs and RAM.
=back
+=head3 Event Channel ABIs
+
+=over 4
+
+=item B<evtchn_extended_allowed=BOOLEAN>
+
+Flag for allowing domain to use any of the extended event channel ABIs.
+
+=back
+
=head3 CPU Scheduling
=over 4
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index efeebf2..541e34b 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -35,6 +35,8 @@ int libxl__domain_create_info_setdefault(libxl__gc *gc,
libxl_defbool_setdefault(&c_info->oos, true);
}
+ libxl_defbool_setdefault(&c_info->evtchn_extended_allowed, false);
+
libxl_defbool_setdefault(&c_info->run_hotplug_scripts, true);
return 0;
@@ -406,6 +408,8 @@ int libxl__domain_make(libxl__gc *gc,
libxl_domain_create_info *info,
flags |= libxl_defbool_val(info->hap) ? XEN_DOMCTL_CDF_hap : 0;
flags |= libxl_defbool_val(info->oos) ? 0 : XEN_DOMCTL_CDF_oos_off;
}
+ flags |= libxl_defbool_val(info->evtchn_extended_allowed) ?
+ XEN_DOMCTL_CDF_evtchn_extended_allowed : 0;
*domid = -1;
/* Ultimately, handle is an array of 16 uint8_t, same as uuid */
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index 5b080ed..2430827 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -237,6 +237,7 @@ libxl_domain_create_info = Struct("domain_create_info",[
("type", libxl_domain_type),
("hap", libxl_defbool),
("oos", libxl_defbool),
+ ("evtchn_extended_allowed",libxl_defbool),
("ssidref", uint32),
("name", string),
("uuid", libxl_uuid),
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index a98705e..1ad9b28 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -651,6 +651,9 @@ static void parse_config_data(const char *config_source,
xlu_cfg_get_defbool(config, "oos", &c_info->oos, 0);
+ xlu_cfg_get_defbool(config, "evtchn_extended_allowed",
+ &c_info->evtchn_extended_allowed, 0);
+
if (!xlu_cfg_get_string (config, "pool", &buf, 0)) {
c_info->poolid = -1;
cpupool_qualifier_to_cpupoolid(buf, &c_info->poolid, NULL);
--
1.7.10.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |