[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180504023453.25682-1-peterx@redhat.com>
Date: Fri, 4 May 2018 10:34:51 +0800
From: Peter Xu <peterx@...hat.com>
To: Linux IOMMU Mailing List <iommu@...ts.linux-foundation.org>,
linux-kernel@...r.kernel.org
Cc: Joerg Roedel <joro@...tes.org>,
David Woodhouse <dwmw2@...radead.org>,
Alex Williamson <alex.williamson@...hat.com>,
Jintack Lim <jintack@...columbia.edu>,
Alexander Witte <alexander.witte@...canada.com>,
peterx@...hat.com
Subject: [PATCH v3 0/2] iommu/vt-d: Fix mapping PSI missing for iommu_map()
v3:
- drop the pr_debug patch [Joerg]
- rename all the subjects as suggested [Joerg]
- rebase
v2:
- cc correct people and iommu list
(PSI stands for: Page Selective Invalidations)
Intel IOMMU has the caching mode to ease emulation of the device.
When that bit is set, we need to send PSIs even for newly mapped
pages. However current driver is not fully obey the rule. E.g.,
iommu_map() API will only do the mapping but it never sent the PSIs
before. That can be problematic to emulated IOMMU devices since
they'll never be able to build up the shadow page tables if without
such information. This patchset tries to fix the problem.
Patch 1 introduces a helper to notify the MAP PSIs.
Patch 2 fixes the real problem by making sure every domain mapping
will trigger the MAP PSI notifications.
Without the patchset, nested device assignment (assign one device
firstly to L1 guest, then to L2 guest) won't work for QEMU. After
applying the patchset, it works.
Please review. Thanks.
Peter Xu (2):
iommu/vt-d: Introduce __mapping_notify_one()
iommu/vt-d: Fix iotlb psi missing for mappings
drivers/iommu/intel-iommu.c | 65 ++++++++++++++++++++++++++-----------
1 file changed, 46 insertions(+), 19 deletions(-)
--
2.17.0
Powered by blists - more mailing lists