From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [RFC PATCH V4 18/18] libxl: add evtchn_extended_allowed flag Date: Tue, 5 Mar 2013 12:30:40 +0000 Message-ID: <1362486640-14707-19-git-send-email-wei.liu2@citrix.com> References: <1362486640-14707-1-git-send-email-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1362486640-14707-1-git-send-email-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: Wei Liu , ian.campbell@citrix.com, Ian Jackson , david.vrabel@citrix.com, jbeulich@suse.com, keir@xen.org List-Id: xen-devel@lists.xenproject.org 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 CC: Ian Jackson --- 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 + +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