From nobody Fri May 3 00:09:02 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org ARC-Seal: i=1; a=rsa-sha256; t=1563897009; cv=none; d=zoho.com; s=zohoarc; b=h3+mU6lK834dtEdyUKuNaET4XoiwsS6/L1A4dyUd0NSfivznGqyeFHW6PI/S/EOYD4ETYC3mpv8jVgJsASA0vzI6Qn/xZTT/pGpcJcc2kBjoKWcJKP6TfvjlkvL7JUWSXqmutViLm6BuJFCr18orhflsQCUYSh+xzC++NVy1rP4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1563897009; h=Content-Type: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:ARC-Authentication-Results; bh=5Xlg2KADjlLX2nqRpe/WmSd3Awqf2jn5tlBtPNQH9AM=; b=lbffmU27gwMHQzC82rubR25ofGthM29OMP7OwLp97Yzegz0SfYZR5SpVi1AkZl73+FIG5Dg2aLi01W5qQIdx0Fh+G021QBFAWhek9CjLDGPGaH8FugqylyGcG8t/beXXZFZSDni64m9U6nzVSq0wtKDTDDrbGuq6OBAxOpEY+hQ= ARC-Authentication-Results: i=1; mx.zoho.com; spf=none (zoho.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) 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 1563897009609434.2541498211116; Tue, 23 Jul 2019 08:50:09 -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 1hpx2A-0007Fz-MB; Tue, 23 Jul 2019 15:48:58 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hpx29-0007Fk-77 for xen-devel@lists.xenproject.org; Tue, 23 Jul 2019 15:48:57 +0000 Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 60c23d50-ad61-11e9-8980-bc764e045a96; Tue, 23 Jul 2019 15:48:56 +0000 (UTC) X-Inumbo-ID: 60c23d50-ad61-11e9-8980-bc764e045a96 Authentication-Results: esa2.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: none (zoho.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Received-SPF: None (esa2.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=esa2.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="roger.pau@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa2.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=esa2.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 ~all" Received-SPF: None (esa2.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=esa2.hc3370-68.iphmx.com; envelope-from="roger.pau@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: 5c1fSqWdcYmxRezgLVYWOVoPayknzFTuBy+R2TB0SqNR4YfoDgIycVdP8XVoETTAf4ri9aJhZy vjiv9hUCYRiHncLx+gcCniRU4VFODMkSd1FJwsjG+di/vBs75GAmfetfFaG1rXQN/Lapks/scM nt7AYIM9h+uoYZYhJJx45IfMZHYxcTOWJWgyHwyg3GtTBZdFavFTXE3IoEL91MFH/8SFDLmc8S G9yEpEbTd/WUxIxRUk2C6qdCeipEMpO3ITdLbE9+j7hEUKmmewQJy1AQzhxgp9ZL5Rnqj6m5jG uh0= X-SBRS: 2.7 X-MesageID: 3321387 X-Ironport-Server: esa2.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.64,299,1559534400"; d="scan'208";a="3321387" From: Roger Pau Monne To: Date: Tue, 23 Jul 2019 17:48:50 +0200 Message-ID: <20190723154851.77627-2-roger.pau@citrix.com> X-Mailer: git-send-email 2.20.1 (Apple Git-117) In-Reply-To: <20190723154851.77627-1-roger.pau@citrix.com> References: <20190723154851.77627-1-roger.pau@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH 1/2] x86/iommu: avoid mapping the interrupt address range for hwdom 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: Andrew Cooper , Jan Beulich , Roger Pau Monne Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Current code only prevent mapping the lapic page into the guest physical memory map. Expand the range to be 0xFEEx_xxxx as described in the Intel VTd specification section 3.13 "Handling Requests to Interrupt Address Range". AMD also lists this address range in the AMD SR5690 Databook, section 2.4.4 "MSI Interrupt Handling and MSI to HT Interrupt Conversion". Requested-by: Andrew Cooper Signed-off-by: Roger Pau Monn=C3=A9 Reviewed-by: Jan Beulich --- Cc: Jan Beulich Cc: Andrew Cooper --- xen/drivers/passthrough/x86/iommu.c | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/xen/drivers/passthrough/x86/iommu.c b/xen/drivers/passthrough/= x86/iommu.c index 0fa6dcc3fd..88a87cf7a4 100644 --- a/xen/drivers/passthrough/x86/iommu.c +++ b/xen/drivers/passthrough/x86/iommu.c @@ -226,19 +226,9 @@ static bool __hwdom_init hwdom_iommu_map(const struct = domain *d, return false; } =20 - /* - * Check that it doesn't overlap with the LAPIC - * TODO: if the guest relocates the MMIO area of the LAPIC Xen should = make - * sure there's nothing in the new address that would prevent trapping. - */ - if ( has_vlapic(d) ) - { - const struct vcpu *v; - - for_each_vcpu(d, v) - if ( pfn =3D=3D PFN_DOWN(vlapic_base_address(vcpu_vlapic(v))) ) - return false; - } + /* Check that it doesn't overlap with the Interrupt Address Range. */ + if ( pfn >=3D 0xfee00 && pfn <=3D 0xfeeff ) + return false; /* ... or the IO-APIC */ for ( i =3D 0; has_vioapic(d) && i < d->arch.hvm.nr_vioapics; i++ ) if ( pfn =3D=3D PFN_DOWN(domain_vioapic(d, i)->base_address) ) --=20 2.20.1 (Apple Git-117) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel From nobody Fri May 3 00:09:02 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org ARC-Seal: i=1; a=rsa-sha256; t=1563897011; cv=none; d=zoho.com; s=zohoarc; b=ITb9w7ikvJzbE1Hkuo7itEQdilUEk2cqLj5h0KwnOeSsspPhNJmvbdFVqQMPZjpgil92aNzb4c2sYPnf8Boia4uivSmi/xoTl3fY2w5JUJlSbexh99Ls2wF2hgTera2CdCevoQlCTH00E6tVjOzGfnR/qkIrC4CovrORr2SWrNM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1563897011; h=Content-Type: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:ARC-Authentication-Results; bh=F1rfZ/JdefJS33V0uUfHBeJMXb+Op5Ks0v8IsI3FP8g=; b=CFQROnl8FxwtDk0tTmkEDoJpo6ATve49T2p1FNcZQ33FDxeowHoTpq7B8Okxemqe6nu8hR4OKJ+tiuLCY6RHw6qH2ZlkQf0JC+Q6J+a1GDSvGNPVcnKNFPI2fjnzHR8kalP/txPSgqbze/jKUf4u7LiNjxcSJ3OwkjJmeG70yzo= ARC-Authentication-Results: i=1; mx.zoho.com; spf=none (zoho.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) 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 1563897011252660.7943816615137; Tue, 23 Jul 2019 08:50:11 -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 1hpx2C-0007GB-7b; Tue, 23 Jul 2019 15:49:00 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hpx2A-0007Fu-G8 for xen-devel@lists.xenproject.org; Tue, 23 Jul 2019 15:48:58 +0000 Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 618a0823-ad61-11e9-8980-bc764e045a96; Tue, 23 Jul 2019 15:48:57 +0000 (UTC) X-Inumbo-ID: 618a0823-ad61-11e9-8980-bc764e045a96 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: none (zoho.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) 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 ~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: sKUycj5eRQJbfPx3dYuX/2Eo49WA5DwmCt5E7ZlOhPOnq2P7Caf7lQ6gdYQh0OV/gvA08OcbeI Yycoa54KRbf4aTtG7zPFFhpm+BZm+oMvj5M2Nw1v3ye8Fmj+CMnvty57dxmmf3qEHOYGxt9Hga Iif3aHZF6lO5zL2F2WF9/Zqf3+wqEzaU4vd5as53wEkrkOsD6nAbK3qdMo2xYaewg6W4WerG3m VMuMbas7N3C8OhVkWxaQBdqY2hbkUQmwLd0lhnqiFt/g3eIiskZtO3RcYc4STwVpS7vKiMVtKF ywU= X-SBRS: 2.7 X-MesageID: 3360479 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.64,299,1559534400"; d="scan'208";a="3360479" From: Roger Pau Monne To: Date: Tue, 23 Jul 2019 17:48:51 +0200 Message-ID: <20190723154851.77627-3-roger.pau@citrix.com> X-Mailer: git-send-email 2.20.1 (Apple Git-117) In-Reply-To: <20190723154851.77627-1-roger.pau@citrix.com> References: <20190723154851.77627-1-roger.pau@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH 2/2] x86/iommu: avoid mapping the APIC configuration space for hwdom 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: Andrew Cooper , Jan Beulich , Roger Pau Monne Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Current code only prevents mapping the io-apic page into the guest physical memory map. Expand the range to be 0xFECx_xxxx as described in the Intel 3 Series Chipset Datasheet section 3.3.1 "APIC Configuration Space (FEC0_0000h=E2=80=93FECF_FFFFh)". AMD also lists this address range in the AMD SR5690 Databook, section 2.4.2 "Non-SB IOAPIC Support". Requested-by: Andrew Cooper Signed-off-by: Roger Pau Monn=C3=A9 --- Cc: Jan Beulich Cc: Andrew Cooper --- xen/drivers/passthrough/x86/iommu.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/xen/drivers/passthrough/x86/iommu.c b/xen/drivers/passthrough/= x86/iommu.c index 88a87cf7a4..4dabfb2391 100644 --- a/xen/drivers/passthrough/x86/iommu.c +++ b/xen/drivers/passthrough/x86/iommu.c @@ -195,7 +195,7 @@ static bool __hwdom_init hwdom_iommu_map(const struct d= omain *d, unsigned long max_pfn) { mfn_t mfn =3D _mfn(pfn); - unsigned int i, type; + unsigned int type; =20 /* * Set up 1:1 mapping for dom0. Default to include only conventional R= AM @@ -229,10 +229,9 @@ static bool __hwdom_init hwdom_iommu_map(const struct = domain *d, /* Check that it doesn't overlap with the Interrupt Address Range. */ if ( pfn >=3D 0xfee00 && pfn <=3D 0xfeeff ) return false; - /* ... or the IO-APIC */ - for ( i =3D 0; has_vioapic(d) && i < d->arch.hvm.nr_vioapics; i++ ) - if ( pfn =3D=3D PFN_DOWN(domain_vioapic(d, i)->base_address) ) - return false; + /* ... or the APIC Configuration Space. */ + if ( pfn >=3D 0xfec00 && pfn <=3D 0xfecff ) + return false; /* * ... or the PCIe MCFG regions. * TODO: runtime added MMCFG regions are not checked to make sure they --=20 2.20.1 (Apple Git-117) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel