From nobody Sat May 18 08:35:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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; dmarc=fail(p=none dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1587123045; cv=none; d=zohomail.com; s=zohoarc; b=IiEDoSX4SdhuonRM2FqhcYafewVnSUpmqXfWedrLl0/1bLTabwAvDHS0Hf8GWT8YvrDM4Dkm9UPnrJwhTHHNwjB57R9EG243oNVHifURZRQYd+vmyZ/WTNYKgYfpLfQcgFy31MoN3bMNlDLcgdV/11Pli6kCQGVcaP0MOsHLQok= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1587123045; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=vuoDiIG8iTrL8UZY0OEJ4d0Zi3K7MNLMw7keaSXdJg0=; b=KuMEPFw/1HvTWKW6bKv4TuebGwp055tDRPezDdXVd8MBRS46AwunZ48S1BUdtXiUG/MbmJ8nKoOADECtBrKmXIrgif3fh844ExM9eAK1JgZidCAy4+sHZQLNHSmVfrkDlB7MWcPhU8BS/ShQ4chfFJ9MmnRaqw3EWx0bCRXvKeA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1587123045742245.7655914545387; Fri, 17 Apr 2020 04:30:45 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1jPPCN-000123-Am; Fri, 17 Apr 2020 11:30:19 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1jPPCL-00011y-J2 for xen-devel@lists.xenproject.org; Fri, 17 Apr 2020 11:30:17 +0000 Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id ced242de-809e-11ea-8cbb-12813bfff9fa; Fri, 17 Apr 2020 11:30:15 +0000 (UTC) X-Inumbo-ID: ced242de-809e-11ea-8cbb-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1587123016; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=AvVKH8/nmaAKkcfNP9IppKatqInv4zImFWpcshcgltQ=; b=NXJyWdMEVwWlW4Msgd3CI81CMXpUgOThN6lp6mhgAMqfG61CyJrGTAYy 88SKs5yMACkZbzg3xDaAdyI5F+Jk3x+XyrDSsLIhRzIrnniaZCM8bHfS2 YXTMkdDMNDn/csqRziUtedilGxp4Ln0y406Yy/gcBB3cZFv5XHSIPogsq M=; Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=roger.pau@citrix.com; spf=Pass smtp.mailfrom=roger.pau@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com 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; Received-SPF: None (esa1.hc3370-68.iphmx.com: no sender authenticity information available from domain of roger.pau@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa1.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="roger.pau@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa1.hc3370-68.iphmx.com: domain of roger.pau@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa1.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="roger.pau@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ip4:168.245.78.127 ~all" Received-SPF: None (esa1.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa1.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: PIw3IpUuYKYIREodqPJr4JplEjMBLctkfo0zVxZGL5y2d2BfbDS/EhAIS8QYLq0pIpxYqnMSwz SAAFDuxvgI6OpH4+OEYnD0qDQOHDqc3cUjC7++sGGCtl4gNghfqFB/vI4eM7qB18Npz5IWO8pI wrGhJwIVo3/W6yZMGWE/JbllCPyFy9YCcq3AT21rXXpu0xumWTL2cn1i5NFjNMPu71qkIq6/O3 6HOQKSaPtIorXiHFdmKecKAlS8iiYpRB3FxCqKWvPJWvXM1dp1BmHJ4qpE/GniajK80zyD4rBm XRE= X-SBRS: 2.7 X-MesageID: 16078695 X-Ironport-Server: esa1.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.72,394,1580792400"; d="scan'208";a="16078695" From: Roger Pau Monne To: Subject: [PATCH] x86/vtd: relax EPT page table sharing check Date: Fri, 17 Apr 2020 13:29:54 +0200 Message-ID: <20200417112954.21250-1-roger.pau@citrix.com> X-Mailer: git-send-email 2.26.0 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Kevin Tian , Jan Beulich , Roger Pau Monne Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) The EPT page tables can be shared with the IOMMU as long as the page sizes supported by EPT are also supported by the IOMMU. Current code checks that both the IOMMU and EPT support the same page sizes, but this is not strictly required, the IOMMU supporting more page sizes than EPT is fine and shouldn't block page table sharing. This is likely not a common case (IOMMU supporting more page sizes than EPT), but should still be fixed for correctness. Signed-off-by: Roger Pau Monn=C3=A9 Reviewed-by: Jan Beulich Reviewed-by: Kevin Tian --- Cc: Jan Beulich --- Changes since v1: - Use <=3D to compare caps. - Reword subject/commit message. --- xen/drivers/passthrough/vtd/iommu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/= vtd/iommu.c index 07d40b37fe..208b33c0e4 100644 --- a/xen/drivers/passthrough/vtd/iommu.c +++ b/xen/drivers/passthrough/vtd/iommu.c @@ -1914,8 +1914,8 @@ static int __init vtd_ept_page_compatible(struct vtd_= iommu *iommu) if ( rdmsr_safe(MSR_IA32_VMX_EPT_VPID_CAP, ept_cap) !=3D 0 )=20 return 0; =20 - return (ept_has_2mb(ept_cap) && opt_hap_2mb) =3D=3D cap_sps_2mb(vtd_ca= p) && - (ept_has_1gb(ept_cap) && opt_hap_1gb) =3D=3D cap_sps_1gb(vtd_ca= p); + return (ept_has_2mb(ept_cap) && opt_hap_2mb) <=3D cap_sps_2mb(vtd_cap)= && + (ept_has_1gb(ept_cap) && opt_hap_1gb) <=3D cap_sps_1gb(vtd_cap); } =20 /* --=20 2.26.0