From nobody Fri May 3 20:40:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org ARC-Seal: i=1; a=rsa-sha256; t=1606245497; cv=none; d=zohomail.com; s=zohoarc; b=oF0O0dzMelhZXl5FAJCMr04Tw27gOXQQtwn5lKEv9wnSq+Bw/PLW4Z4L+JvvKakVK/pYHrsXwa0/B5beOSaiLTF62aQAGVXzoYQy7c4XPMnPv1QJL75KNina6pbBFfQJf+1RemRind3PNGnqZYcYxapLQ06BBoPzYGbnXI/pjeY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606245497; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=RqaPp5RRZKIQZO8Gxl89YiDcr2otuNX/c8xlMGA/ZCE=; b=dQYf12kp1YNEYcdcouvrQiVI1IjXQbdNk88HMaT9KROY5LrXnI60R3+Rmfv+4VfbUMgRNR93JjTNWU1weVbDTHrkJEF8hv0cLpdNpl1zcCZf+F2yUWCIr5UV5Phh+voqlc4eYOhoWkQb5GsXqjiD25uK01gDK7pNV7wqKCh9n7U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1606245497495466.2530379253906; Tue, 24 Nov 2020 11:18:17 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.36878.68955 (Exim 4.92) (envelope-from ) id 1khdp7-0003Ni-FL; Tue, 24 Nov 2020 19:17:57 +0000 Received: by outflank-mailman (output) from mailman id 36878.68955; Tue, 24 Nov 2020 19:17:57 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1khdp7-0003Nb-BW; Tue, 24 Nov 2020 19:17:57 +0000 Received: by outflank-mailman (input) for mailman id 36878; Tue, 24 Nov 2020 19:17:56 +0000 Received: from mail.xenproject.org ([104.130.215.37]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1khdp6-0003NA-F5 for xen-devel@lists.xenproject.org; Tue, 24 Nov 2020 19:17:56 +0000 Received: from xenbits.xenproject.org ([104.239.192.120]) by mail.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1khdp4-00046z-Kd; Tue, 24 Nov 2020 19:17:54 +0000 Received: from host86-183-162-145.range86-183.btcentralplus.com ([86.183.162.145] helo=u2f063a87eabd5f.home) by xenbits.xenproject.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1khdp4-0001af-B1; Tue, 24 Nov 2020 19:17:54 +0000 Received: from mail.xenproject.org ([104.130.215.37]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1khdp6-0003NA-F5 for xen-devel@lists.xenproject.org; Tue, 24 Nov 2020 19:17:56 +0000 Received: from xenbits.xenproject.org ([104.239.192.120]) by mail.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1khdp4-00046z-Kd; Tue, 24 Nov 2020 19:17:54 +0000 Received: from host86-183-162-145.range86-183.btcentralplus.com ([86.183.162.145] helo=u2f063a87eabd5f.home) by xenbits.xenproject.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1khdp4-0001af-B1; Tue, 24 Nov 2020 19:17:54 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org; s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-Id:Date:Subject:Cc:To:From; bh=RqaPp5RRZKIQZO8Gxl89YiDcr2otuNX/c8xlMGA/ZCE=; b=yJ8hF0LtYrkvPcfXjOOAI4Hbd2 bEA2gcbXQKuVpMAEX7xvA4Eqba4XpXWP0mc22LSETae0jmhAvK1aeD+cVARRyppOF522fB1hF4mbF Rc/tGou53K/CT1R7+RFUGbg3RioqttSUTaJ2wYehxygC4Df8nsWYiENdUfmzjVw+AJCI=; From: Paul Durrant To: xen-devel@lists.xenproject.org Cc: Paul Durrant , Eslam Elnikety , Christian Lindig , David Scott , Ian Jackson , Wei Liu , Andrew Cooper , George Dunlap , Jan Beulich , Julien Grall , Stefano Stabellini Subject: [PATCH v4 1/3] domctl: introduce a new domain create flag, XEN_DOMCTL_CDF_disable_fifo, ... Date: Tue, 24 Nov 2020 19:17:49 +0000 Message-Id: <20201124191751.11472-2-paul@xen.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201124191751.11472-1-paul@xen.org> References: <20201124191751.11472-1-paul@xen.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @xen.org) Content-Type: text/plain; charset="utf-8" From: Paul Durrant ...to control the visibility of the FIFO event channel operations (EVTCHNOP_init_control, EVTCHNOP_expand_array, and EVTCHNOP_set_priority) to the guest. These operations were added to the public header in commit d2d50c2f308f ("evtchn: add FIFO-based event channel ABI") and the first implementation appeared in the two subsequent commits: edc8872aeb4a ("evtchn: implement EVTCHNOP_set_priority and add the set_priority hook") and 88910061ec61 ("evtchn: add FIFO-based event channel hypercalls and port ops"). Prior to that, a guest issuing those operations would receive a return value of -ENOSYS (not implemented) from Xen. Guests aware of the FIFO operations but running on an older (pre-4.4) Xen would fall back to using the 2-level event channel interface upon seeing this return value. Unfortunately the uncontrolable appearance of these new operations in Xen 4= .4 onwards has implications for hibernation of some Linux guests. During resume from hibernation, there are two kernels involved: the "boot" kernel and the "resume" kernel. The guest boot kernel may default to use FIFO operations a= nd instruct Xen via EVTCHNOP_init_control to switch from 2-level to FIFO. On t= he other hand, the resume kernel keeps assuming 2-level, because it was hibern= ated on a version of Xen that did not support the FIFO operations. To maintain compatibility it is necessary to make Xen behave as it did before the new operations were added and hence the code in this patch ensur= es that, if XEN_DOMCTL_CDF_disable_fifo is set, the FIFO event channel operati= ons will again result in -ENOSYS being returned to the guest. Signed-off-by: Paul Durrant Signed-off-by: Eslam Elnikety --- Cc: Christian Lindig Cc: David Scott Cc: Ian Jackson Cc: Wei Liu Cc: Andrew Cooper Cc: George Dunlap Cc: Jan Beulich Cc: Julien Grall Cc: Stefano Stabellini v4: - New in v4 --- tools/ocaml/libs/xc/xenctrl.ml | 1 + tools/ocaml/libs/xc/xenctrl.mli | 1 + xen/common/domain.c | 2 +- xen/common/event_channel.c | 17 +++++++++++++++++ xen/include/public/domctl.h | 4 +++- 5 files changed, 23 insertions(+), 2 deletions(-) diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml index e878699b0a1a..9ccad9aece8c 100644 --- a/tools/ocaml/libs/xc/xenctrl.ml +++ b/tools/ocaml/libs/xc/xenctrl.ml @@ -65,6 +65,7 @@ type domain_create_flag =3D | CDF_XS_DOMAIN | CDF_IOMMU | CDF_NESTED_VIRT + | CDF_DISABLE_FIFO =20 type domain_create_iommu_opts =3D | IOMMU_NO_SHAREPT diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.= mli index e64907df8e7e..8bb0f9e14b8e 100644 --- a/tools/ocaml/libs/xc/xenctrl.mli +++ b/tools/ocaml/libs/xc/xenctrl.mli @@ -58,6 +58,7 @@ type domain_create_flag =3D | CDF_XS_DOMAIN | CDF_IOMMU | CDF_NESTED_VIRT + | CDF_DISABLE_FIFO =20 type domain_create_iommu_opts =3D | IOMMU_NO_SHAREPT diff --git a/xen/common/domain.c b/xen/common/domain.c index f748806a450b..75aed7fd5b01 100644 --- a/xen/common/domain.c +++ b/xen/common/domain.c @@ -307,7 +307,7 @@ static int sanitise_domain_config(struct xen_domctl_cre= atedomain *config) ~(XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap | XEN_DOMCTL_CDF_s3_integrity | XEN_DOMCTL_CDF_oos_off | XEN_DOMCTL_CDF_xs_domain | XEN_DOMCTL_CDF_iommu | - XEN_DOMCTL_CDF_nested_virt) ) + XEN_DOMCTL_CDF_nested_virt | XEN_DOMCTL_CDF_disable_fifo) ) { dprintk(XENLOG_INFO, "Unknown CDF flags %#x\n", config->flags); return -EINVAL; diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c index 54b2e2550e93..6a96ccf56c3a 100644 --- a/xen/common/event_channel.c +++ b/xen/common/event_channel.c @@ -1193,10 +1193,27 @@ static long evtchn_set_priority(const struct evtchn= _set_priority *set_priority) return ret; } =20 +static bool is_fifo_op(int cmd) +{ + switch ( cmd ) + { + case EVTCHNOP_init_control: + case EVTCHNOP_expand_array: + case EVTCHNOP_set_priority: + return true; + default: + return false; + } +} + long do_event_channel_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg) { long rc; =20 + if ( (current->domain->options & XEN_DOMCTL_CDF_disable_fifo) && + is_fifo_op(cmd) ) + return -ENOSYS; + switch ( cmd ) { case EVTCHNOP_alloc_unbound: { diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h index 666aeb71bf1b..70701c59d053 100644 --- a/xen/include/public/domctl.h +++ b/xen/include/public/domctl.h @@ -70,9 +70,11 @@ struct xen_domctl_createdomain { #define XEN_DOMCTL_CDF_iommu (1U<<_XEN_DOMCTL_CDF_iommu) #define _XEN_DOMCTL_CDF_nested_virt 6 #define XEN_DOMCTL_CDF_nested_virt (1U << _XEN_DOMCTL_CDF_nested_virt) +#define _XEN_DOMCTL_CDF_disable_fifo 7 +#define XEN_DOMCTL_CDF_disable_fifo (1U << _XEN_DOMCTL_CDF_disable_fifo) =20 /* Max XEN_DOMCTL_CDF_* constant. Used for ABI checking. */ -#define XEN_DOMCTL_CDF_MAX XEN_DOMCTL_CDF_nested_virt +#define XEN_DOMCTL_CDF_MAX XEN_DOMCTL_CDF_disable_fifo =20 uint32_t flags; =20 --=20 2.20.1 From nobody Fri May 3 20:40:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org ARC-Seal: i=1; a=rsa-sha256; t=1606245498; cv=none; d=zohomail.com; s=zohoarc; b=SRDTpdnfhSWRDh8Upvbvk08d8LUaaULubnF4P8pLe8cJo8PibCjhu2aosM1on4pTSsxna/d+QwZwkxRsMILz3s7Pezab9vJY4MeDYc+Px9m0jIAkALGyWnXureD0ScRpC08L9R1G1G2s6HXGG1j2DVh/vmCuZT+a7FOSZFKTNNM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606245498; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Ab1xFXjavoHWImv5EdYjiLsTfFXo0yohVYFMNSfSBu8=; b=a5idlwu0hnzFSeA/SgrhGEReRMi8GaqjeUhQj/pFar+krvEVHYngwEO/JJIQkHkFXeefXJYMH/qalq3TxoqmnnXa8ILRtEEoB4qbH2ve0R32w4ogOwgt97s8LgGrNDngYWLyrjUMw/vKVnzbVdNn4rJ5Y959nDsC7aWRuG+arAM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1606245498906861.1373412198768; Tue, 24 Nov 2020 11:18:18 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.36879.68960 (Exim 4.92) (envelope-from ) id 1khdp7-0003OX-QK; Tue, 24 Nov 2020 19:17:57 +0000 Received: by outflank-mailman (output) from mailman id 36879.68960; Tue, 24 Nov 2020 19:17:57 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1khdp7-0003OE-K5; Tue, 24 Nov 2020 19:17:57 +0000 Received: by outflank-mailman (input) for mailman id 36879; Tue, 24 Nov 2020 19:17:56 +0000 Received: from mail.xenproject.org ([104.130.215.37]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1khdp6-0003NJ-IB for xen-devel@lists.xenproject.org; Tue, 24 Nov 2020 19:17:56 +0000 Received: from xenbits.xenproject.org ([104.239.192.120]) by mail.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1khdp5-000473-MH; Tue, 24 Nov 2020 19:17:55 +0000 Received: from host86-183-162-145.range86-183.btcentralplus.com ([86.183.162.145] helo=u2f063a87eabd5f.home) by xenbits.xenproject.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1khdp5-0001af-EV; Tue, 24 Nov 2020 19:17:55 +0000 Received: from mail.xenproject.org ([104.130.215.37]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1khdp6-0003NJ-IB for xen-devel@lists.xenproject.org; Tue, 24 Nov 2020 19:17:56 +0000 Received: from xenbits.xenproject.org ([104.239.192.120]) by mail.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1khdp5-000473-MH; Tue, 24 Nov 2020 19:17:55 +0000 Received: from host86-183-162-145.range86-183.btcentralplus.com ([86.183.162.145] helo=u2f063a87eabd5f.home) by xenbits.xenproject.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1khdp5-0001af-EV; Tue, 24 Nov 2020 19:17:55 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org; s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-Id:Date:Subject:Cc:To:From; bh=Ab1xFXjavoHWImv5EdYjiLsTfFXo0yohVYFMNSfSBu8=; b=XhYSWVF0+rPXX327YXZdWgIakp hwNMBq11dVZDKNTIM1BiXi5SO/7j2c9rqUefBht0MR1ONR9FEJ6+ELuaXw2ZNaDKvdRND+BA4ZURu 9WF7A9N0zZHn8PBV0g7BcM53MGzaFZVF+N8cnaT6twdxkh0VpmoNefvIcFnw7mnxCAlI=; From: Paul Durrant To: xen-devel@lists.xenproject.org Cc: Paul Durrant , Eslam Elnikety , Ian Jackson , Wei Liu , Anthony PERARD Subject: [PATCH v4 2/3] libxl: add a 'disable_fifo_evtchn' flag to libxl_domain_build_info ... Date: Tue, 24 Nov 2020 19:17:50 +0000 Message-Id: <20201124191751.11472-3-paul@xen.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201124191751.11472-1-paul@xen.org> References: <20201124191751.11472-1-paul@xen.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @xen.org) Content-Type: text/plain; charset="utf-8" From: Paul Durrant ...to control setting the domain create flag XEN_DOMCTL_CDF_disable_fifo. Signed-off-by: Paul Durrant Signed-off-by: Eslam Elnikety --- Cc: Ian Jackson Cc: Wei Liu Cc: Anthony PERARD v4: - New in v4 --- tools/include/libxl.h | 8 ++++++++ tools/libs/light/libxl_create.c | 5 +++++ tools/libs/light/libxl_types.idl | 1 + 3 files changed, 14 insertions(+) diff --git a/tools/include/libxl.h b/tools/include/libxl.h index 1ea5b4f446e8..fe0aad632c08 100644 --- a/tools/include/libxl.h +++ b/tools/include/libxl.h @@ -444,6 +444,14 @@ */ #define LIBXL_HAVE_DISK_SAFE_REMOVE 1 =20 +/* + * LIBXL_HAVE_BUILDINFO_DISABLE_EVTCHN_FIFO indicates that + * libxl_domain_build_info has a disable_evtchn_fifo (boolean) field + * to determine whether the EVTCHNOPs to initialize and manipulate FIFO + * event channels are exposed to the guest. + */ +#define LIBXL_HAVE_BUILDINFO_DISABLE_EVTCHN_FIFO 1 + /* * libxl ABI compatibility * diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_creat= e.c index 321a13e519b5..abbbd91442c0 100644 --- a/tools/libs/light/libxl_create.c +++ b/tools/libs/light/libxl_create.c @@ -263,6 +263,8 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, if (!b_info->event_channels) b_info->event_channels =3D 1023; =20 + libxl_defbool_setdefault(&b_info->disable_evtchn_fifo, false); + libxl__arch_domain_build_info_setdefault(gc, b_info); libxl_defbool_setdefault(&b_info->dm_restrict, false); =20 @@ -609,6 +611,9 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_conf= ig *d_config, .max_maptrack_frames =3D b_info->max_maptrack_frames, }; =20 + if (libxl_defbool_val(b_info->disable_evtchn_fifo)) + create.flags |=3D XEN_DOMCTL_CDF_disable_fifo; + if (info->type !=3D LIBXL_DOMAIN_TYPE_PV) { create.flags |=3D XEN_DOMCTL_CDF_hvm; =20 diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_type= s.idl index 9d3f05f39978..fa3f6ec3425e 100644 --- a/tools/libs/light/libxl_types.idl +++ b/tools/libs/light/libxl_types.idl @@ -541,6 +541,7 @@ libxl_domain_build_info =3D Struct("domain_build_info",[ ("iomem", Array(libxl_iomem_range, "num_iomem")), ("claim_mode", libxl_defbool), ("event_channels", uint32), + ("disable_evtchn_fifo",libxl_defbool), ("kernel", string), ("cmdline", string), ("ramdisk", string), --=20 2.20.1 From nobody Fri May 3 20:40:16 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org ARC-Seal: i=1; a=rsa-sha256; t=1606245497; cv=none; d=zohomail.com; s=zohoarc; b=iarx4gvDBaLIpE9QHspW+YHiJ1Fju1h20HuWUIiEda87zpo4x03HdyeoxZO3OgFiPJfMy70cuCGTtwUvw/wm5/FW8VGLndvHh3sqjJnI4+bqbo9B6aElbbKAhDC3n8Uhb4VDHgRV/RfhFfA6AB/pzeF6bqKERCQQtw2BNEy+bGU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606245497; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=tkkEPJDCdmPbCsiRQLMOIcAhVsNk4TLVoClBajQOxuI=; b=WZNdau5FepNH289h+aj6ZIjsZIHD4iyhrBALBmIaM6U3YmN9RU1OamQSsoqTdVzha2ziXoL3C8a3IYp9Z69Tj18/Qrno9M9YBsy0kgfELAZXNgmI3sUgoJsFMZTDvx+E4hdCYlioJs2UpmjmUAD8JcwSitkhsjjf6ghXX0YX0a0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1606245497496127.67345682109601; Tue, 24 Nov 2020 11:18:17 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.36880.68979 (Exim 4.92) (envelope-from ) id 1khdp9-0003R3-4V; Tue, 24 Nov 2020 19:17:59 +0000 Received: by outflank-mailman (output) from mailman id 36880.68979; Tue, 24 Nov 2020 19:17:59 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1khdp9-0003Qw-1E; Tue, 24 Nov 2020 19:17:59 +0000 Received: by outflank-mailman (input) for mailman id 36880; Tue, 24 Nov 2020 19:17:57 +0000 Received: from mail.xenproject.org ([104.130.215.37]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1khdp7-0003OL-Kw for xen-devel@lists.xenproject.org; Tue, 24 Nov 2020 19:17:57 +0000 Received: from xenbits.xenproject.org ([104.239.192.120]) by mail.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1khdp6-00047C-QM; Tue, 24 Nov 2020 19:17:56 +0000 Received: from host86-183-162-145.range86-183.btcentralplus.com ([86.183.162.145] helo=u2f063a87eabd5f.home) by xenbits.xenproject.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1khdp6-0001af-Hj; Tue, 24 Nov 2020 19:17:56 +0000 Received: from mail.xenproject.org ([104.130.215.37]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1khdp7-0003OL-Kw for xen-devel@lists.xenproject.org; Tue, 24 Nov 2020 19:17:57 +0000 Received: from xenbits.xenproject.org ([104.239.192.120]) by mail.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1khdp6-00047C-QM; Tue, 24 Nov 2020 19:17:56 +0000 Received: from host86-183-162-145.range86-183.btcentralplus.com ([86.183.162.145] helo=u2f063a87eabd5f.home) by xenbits.xenproject.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1khdp6-0001af-Hj; Tue, 24 Nov 2020 19:17:56 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org; s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-Id:Date:Subject:Cc:To:From; bh=tkkEPJDCdmPbCsiRQLMOIcAhVsNk4TLVoClBajQOxuI=; b=EYmZp8G3qHSpuuEhzJceRlDl0A D+d80s0ACzdoBX4PXRzJ0vVeCAWR1wDNwk2iVcJJvuYl5M+zPHZvkki8+Z7g7rNE1kRPpe6cIz2qt 6F1r++tfBv4uwyVBGUdSOyYBEyvaIvJ1tdxK+AgIL1ojrtbkXmwnwbs2OMH8Sno/xQcc=; From: Paul Durrant To: xen-devel@lists.xenproject.org Cc: Paul Durrant , Eslam Elnikety , Ian Jackson , Wei Liu , Anthony PERARD Subject: [PATCH v4 3/3] xl: add 'disable_evtchn_fifo' boolean option into xl.cfg(5) ... Date: Tue, 24 Nov 2020 19:17:51 +0000 Message-Id: <20201124191751.11472-4-paul@xen.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201124191751.11472-1-paul@xen.org> References: <20201124191751.11472-1-paul@xen.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @xen.org) Content-Type: text/plain; charset="utf-8" From: Paul Durrant ...to set the value of the 'disable_evtchn_fifo' flag in libxl_domain_build_info. Signed-off-by: Paul Durrant Signed-off-by: Eslam Elnikety --- Cc: Ian Jackson Cc: Wei Liu Cc: Anthony PERARD v4: - New in v4 --- docs/man/xl.cfg.5.pod.in | 8 ++++++++ tools/xl/xl_parse.c | 3 +++ 2 files changed, 11 insertions(+) diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in index 0532739c1fff..80d5e7aaf38f 100644 --- a/docs/man/xl.cfg.5.pod.in +++ b/docs/man/xl.cfg.5.pod.in @@ -1338,6 +1338,14 @@ FIFO-based event channel ABI support up to 131,071 e= vent channels. Other guests are limited to 4095 (64-bit x86 and ARM) or 1023 (32-bit x86). =20 +=3Ditem B + +Indicates if support for FIFO event channel operations (EVTCHNOP_init_cont= rol, +EVTCHNOP_expand_array and EVTCHNOP_set_priority) are disabled. This can be +used to work around issues with guests hibernated on a version of Xen +prior to 4.4 and resumed on a version of Xen from 4.4. onwards. The default +value is false. + =3Ditem B =20 Specifies the virtual display devices to be provided to the guest. diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c index cae8eb679c5a..f79f644c4c2e 100644 --- a/tools/xl/xl_parse.c +++ b/tools/xl/xl_parse.c @@ -1569,6 +1569,9 @@ void parse_config_data(const char *config_source, if (!xlu_cfg_get_long(config, "max_event_channels", &l, 0)) b_info->event_channels =3D l; =20 + xlu_cfg_get_defbool(config, "disable_evtchn_fifo", + &b_info->disable_evtchn_fifo, 0); + xlu_cfg_replace_string (config, "kernel", &b_info->kernel, 0); xlu_cfg_replace_string (config, "ramdisk", &b_info->ramdisk, 0); xlu_cfg_replace_string (config, "device_tree", &b_info->device_tree, 0= ); --=20 2.20.1