[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 5 May 2019 09:22:47 +0800
From: Lu Baolu <baolu.lu@...ux.intel.com>
To: Tom Murphy <tmurphy@...sta.com>, iommu@...ts.linux-foundation.org
Cc: baolu.lu@...ux.intel.com, Heiko Stuebner <heiko@...ech.de>,
kvm@...r.kernel.org, Will Deacon <will.deacon@....com>,
David Brown <david.brown@...aro.org>,
Thierry Reding <thierry.reding@...il.com>,
linux-s390@...r.kernel.org, linux-samsung-soc@...r.kernel.org,
Krzysztof Kozlowski <krzk@...nel.org>,
Jonathan Hunter <jonathanh@...dia.com>,
linux-rockchip@...ts.infradead.org, Kukjin Kim <kgene@...nel.org>,
Gerald Schaefer <gerald.schaefer@...ibm.com>,
Andy Gross <andy.gross@...aro.org>,
linux-tegra@...r.kernel.org, Marc Zyngier <marc.zyngier@....com>,
linux-arm-msm@...r.kernel.org,
Alex Williamson <alex.williamson@...hat.com>,
linux-mediatek@...ts.infradead.org,
Matthias Brugger <matthias.bgg@...il.com>,
Thomas Gleixner <tglx@...utronix.de>,
linux-arm-kernel@...ts.infradead.org,
Robin Murphy <robin.murphy@....com>,
linux-kernel@...r.kernel.org, murphyt7@....ie,
David Woodhouse <dwmw2@...radead.org>
Subject: Re: [RFC 2/7] iommu/vt-d: Remove iova handling code from non-dma ops
path
Hi,
On 5/5/19 9:19 AM, Lu Baolu wrote:
> Hi,
>
> On 5/4/19 9:23 PM, Tom Murphy via iommu wrote:
>> @@ -4181,58 +4168,37 @@ static int intel_iommu_memory_notifier(struct
>> notifier_block *nb,
>> unsigned long val, void *v)
>> {
>> struct memory_notify *mhp = v;
>> - unsigned long long start, end;
>> - unsigned long start_vpfn, last_vpfn;
>> + unsigned long start_vpfn = mm_to_dma_pfn(mhp->start_pfn);
>> + unsigned long last_vpfn = mm_to_dma_pfn(mhp->start_pfn +
>> + mhp->nr_pages - 1);
>> switch (val) {
>> case MEM_GOING_ONLINE:
>> - start = mhp->start_pfn << PAGE_SHIFT;
>> - end = ((mhp->start_pfn + mhp->nr_pages) << PAGE_SHIFT) - 1;
>> - if (iommu_domain_identity_map(si_domain, start, end)) {
>> - pr_warn("Failed to build identity map for [%llx-%llx]\n",
>> - start, end);
>> + if (iommu_domain_identity_map(si_domain, start_vpfn,
>> + last_vpfn)) {
>> + pr_warn("Failed to build identity map for [%lx-%lx]\n",
>> + start_vpfn, last_vpfn);
>> return NOTIFY_BAD;
>> }
>> break;
>
> Actually we don't need to update the si_domain if iommu hardware
> supports pass-through mode. This should be made in a separated patch
> anyway.
Oh! please ignore it.
This callback is only registered when hardware doesn't support pass
through mode.
if (si_domain && !hw_pass_through)
register_memory_notifier(&intel_iommu_memory_nb);
Best regards,
Lu Baolu
Powered by blists - more mailing lists