Received: by 2002:ac0:950c:0:0:0:0:0 with SMTP id f12csp3769259imc; Thu, 14 Mar 2019 05:03:14 -0700 (PDT) X-Google-Smtp-Source: APXvYqx7/oHPiWVcl+5EsNgTCXMvEQwilOUMqJXH+0eT56Pke6zbl146KnUFpHuAGHaxUZX5FBCZ X-Received: by 2002:a63:f113:: with SMTP id f19mr13995195pgi.141.1552564994056; Thu, 14 Mar 2019 05:03:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552564994; cv=none; d=google.com; s=arc-20160816; b=yiJ9nBfHoxH/g6lg4+WHt9I0BGaVKODZbVBiPCu7PacoSjF9m0vNJxsBfyQWTOySAC rSJw6/syi+PTagtgo5K+GwDHY6TC2URq7sfyWf5Mz0nLUpY7kBPb6BNzNJ/sqPlyh5eF MgjusMzZNwG4FT8uULA5un15FtcI/eSWBmyHTZ+LzieE3quYM4QKqp3Rzl3J0biN+e8K ORonDcz6GIe31lWiF40+PlLmTS2rqK33BoKw1rn6GJ9Dan8J1W4vc19KUkrI/o9HbuXu BJjwLvW53YMpH2zACCBSLqLExFmWMtxj+J+8N/Ly+nyyRrQofElxviqI8IjyzJgipbNc XOMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:references:message-id :content-transfer-encoding:cc:date:in-reply-to:from:subject :mime-version:dkim-signature; bh=RUIngzJUvLQtLGrbRaymdnQUCRjYrsBvIHiCEamCxWw=; b=Z/mPoatxRsOZkpd2EtBbMyWbJ9y8Ay25ZcSBXgiUJ5kgoIw62vQQzGTznRyOgB9wNu owLnl5xrLgXpKt5CLFMxNndteuctA5zdgobXKeFZ7Szpr7OfOOFvhaPx5bHmpjUD0FqN v1c8OGGkULxgKS1bPIWsTbEQe3liwLb6J4SOUTXpqkNpelF80ZkEHH/GmDwJR66K6BAr kr3St8UNqfHRvjQ2u9976uSrM7ZpNb9OANDYdsYZXhHhmCwJxrjZFXAiD9Gq2plkgZvq eh4+cYjE3YBvXALR4dCL3G51+hcvOIOkYcuU9n9midY+OIjUlYA3Vl3AsSBymvkYWOVf 4bgQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@arista.com header.s=googlenew header.b=iS263EhJ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=REJECT dis=NONE) header.from=arista.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t26si7824750pgu.504.2019.03.14.05.02.53; Thu, 14 Mar 2019 05:03:14 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@arista.com header.s=googlenew header.b=iS263EhJ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=REJECT dis=NONE) header.from=arista.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727523AbfCNL7N (ORCPT + 99 others); Thu, 14 Mar 2019 07:59:13 -0400 Received: from mail-ed1-f65.google.com ([209.85.208.65]:36519 "EHLO mail-ed1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726777AbfCNL7N (ORCPT ); Thu, 14 Mar 2019 07:59:13 -0400 Received: by mail-ed1-f65.google.com with SMTP id e4so4383770edi.3 for ; Thu, 14 Mar 2019 04:59:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arista.com; s=googlenew; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=RUIngzJUvLQtLGrbRaymdnQUCRjYrsBvIHiCEamCxWw=; b=iS263EhJKVRyKyc+pKC0p+kN3xHCO1U2Ri1lf6o2edksh/6W17hUUGATHM/+Qa4B9J a7r6SL1ywWsOzfMO+UAtJvbUNFQbZS34XAy36pG7C7kqgUIbx9MSPPwRL5ZZOKLrCwe1 1oYGX7L3kgWbfhCmkMh04JNd7XOey8KUXmzZC+MVggeHp/voWHyqtBQTcS+ueyb574BI NTIDYRNqXbnYoiKyy++0R4yKLyPCAZa/jUtXiZySFu10yVssP2/m6nictt3K0lF3vetl YF3AKJakyudRP2LHN6x8EEJ1t2W+JRxWfEIFJ6ru2QOhFeNTLSdWKrvsL+4mCnyvIrij mQ9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=RUIngzJUvLQtLGrbRaymdnQUCRjYrsBvIHiCEamCxWw=; b=d+yW6+wz70wiRiC/sSER93NATjaU9NCNd1CL3lkA+N4xG3g9SfYlLJMQIl23TNy92R onhZeYV8hiXbm7gsf36Gsn7tmHMo2onLgPDPbmPeJmzxc5LTyg9lpdo8RbcUiXHakv8Z H1GbCwXCmCIOlLEmDxhoBomahKC3FZfPJZIIcLQRSdtr9IuwLRgHxSabx1VbibzT4Rl1 c21/kTvoRcJHbzxBNv6Zg+1Zq7j/Jm5xJefD3gPJQIQeYRPxuHbOigc2DpNikhvpNgDA jKoi+E3ZykNNiRjZFpwVFhWm0BmaBroYc4CjuElC8/pTAkks/SZ5gq/XTxa6lDMTVL9y FYtg== X-Gm-Message-State: APjAAAUoNCPEOf2AO+6LB3cwXV54KehTmtkOEH+7DrZTUIC+w99Hs7H2 xMo/YaNn+cIsTBvzqrKB3c3UZQ== X-Received: by 2002:a50:a4f1:: with SMTP id x46mr11574019edb.62.1552564751701; Thu, 14 Mar 2019 04:59:11 -0700 (PDT) Received: from [10.83.32.113] ([217.173.96.166]) by smtp.gmail.com with ESMTPSA id w6sm1360862eds.0.2019.03.14.04.59.10 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Mar 2019 04:59:11 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.2 \(3445.102.3\)) Subject: [PATCH v2 2/7] iommu/vt-d: Implement apply_resv_region for reserving IOVA ranges From: James Sewart In-Reply-To: <83B82113-8AE5-4B0C-A079-F389520525BD@arista.com> Date: Thu, 14 Mar 2019 11:58:03 +0000 Cc: Tom Murphy , Dmitry Safonov , Jacob Pan , linux-kernel@vger.kernel.org, Lu Baolu Content-Transfer-Encoding: quoted-printable Message-Id: References: <0F0C82BE-86E5-4BAC-938C-6F7629E18D27@arista.com> <83B82113-8AE5-4B0C-A079-F389520525BD@arista.com> To: iommu@lists.linux-foundation.org X-Mailer: Apple Mail (2.3445.102.3) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Used by iommu.c before creating identity mappings for reserved ranges to ensure dma-ops won't ever remap these ranges Signed-off-by: James Sewart --- drivers/iommu/intel-iommu.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c index 78188bf7e90d..8e0a4e2ff77f 100644 --- a/drivers/iommu/intel-iommu.c +++ b/drivers/iommu/intel-iommu.c @@ -5299,6 +5299,19 @@ static void intel_iommu_put_resv_regions(struct = device *dev, } } =20 +static void intel_iommu_apply_resv_region(struct device *dev, + struct iommu_domain *domain, + struct iommu_resv_region *region) +{ + struct dmar_domain *dmar_domain =3D to_dmar_domain(domain); + unsigned long start, end; + + start =3D IOVA_PFN(region->start); + end =3D IOVA_PFN(region->start + region->length - 1); + + WARN_ON_ONCE(reserve_iova(&dmar_domain->iovad, start, end) =3D=3D = NULL); +} + #ifdef CONFIG_INTEL_IOMMU_SVM int intel_iommu_enable_pasid(struct intel_iommu *iommu, struct = intel_svm_dev *sdev) { @@ -5392,6 +5405,7 @@ const struct iommu_ops intel_iommu_ops =3D { .remove_device =3D intel_iommu_remove_device, .get_resv_regions =3D intel_iommu_get_resv_regions, .put_resv_regions =3D intel_iommu_put_resv_regions, + .apply_resv_region =3D intel_iommu_apply_resv_region, .device_group =3D pci_device_group, .pgsize_bitmap =3D INTEL_IOMMU_PGSIZES, }; --=20 2.17.1