[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1568849194-47874-1-git-send-email-jacob.jun.pan@linux.intel.com>
Date: Wed, 18 Sep 2019 16:26:30 -0700
From: Jacob Pan <jacob.jun.pan@...ux.intel.com>
To: iommu@...ts.linux-foundation.org,
LKML <linux-kernel@...r.kernel.org>,
Joerg Roedel <joro@...tes.org>,
David Woodhouse <dwmw2@...radead.org>,
Alex Williamson <alex.williamson@...hat.com>,
Jean-Philippe Brucker <jean-philippe.brucker@....com>
Cc: "Yi Liu" <yi.l.liu@...el.com>,
"Tian, Kevin" <kevin.tian@...el.com>,
Raj Ashok <ashok.raj@...el.com>,
"Christoph Hellwig" <hch@...radead.org>,
"Lu Baolu" <baolu.lu@...ux.intel.com>,
Jonathan Cameron <jic23@...nel.org>,
Eric Auger <eric.auger@...hat.com>,
Jacob Pan <jacob.jun.pan@...ux.intel.com>
Subject: [PATCH 0/4] User API for nested shared virtual address (SVA)
This set consists of IOMMU APIs to support SVA in the guest, a.k.a nested
SVA. As the complete SVA support is complex, we break down the enabling
effort into three stages:
1. PCI device direct assignment
2. Fault handling, especially page request service support
3. Mediated device assignment
Each stage includes common API and vendor specific IOMMU driver changes. This
series is the common uAPI for stage #1. It is intended to build consensus on
the interface which all vendors reply on.
This series is extracted from the complete stage1 set which includes VT-d code.
https://lkml.org/lkml/2019/8/15/951
Changes:
- Use spinlock instead of mutex to protect ioasid custom allocators. This is
to support callers in atomic context
- Added more padding to guest PASID bind data for future extensions, suggested
by Joerg.
After much thinking, I did not do name change from PASID to IOASID in the uAPI,
considering we have been using PASID in the rest of uAPIs. IOASID will remain
used within the kernel.
For more discussions lead to this series, checkout LPC 2019 VFIO/IOMMU/PCI
microconference materials.
https://linuxplumbersconf.org/event/4/sessions/66/#20190909
Jacob Pan (2):
iommu/ioasid: Add custom allocators
iommu: Introduce guest PASID bind function
Jean-Philippe Brucker (1):
iommu: Add I/O ASID allocator
Yi L Liu (1):
iommu: Introduce cache_invalidate API
drivers/iommu/Kconfig | 4 +
drivers/iommu/Makefile | 1 +
drivers/iommu/ioasid.c | 432 +++++++++++++++++++++++++++++++++++++++++++++
drivers/iommu/iommu.c | 30 ++++
include/linux/ioasid.h | 75 ++++++++
include/linux/iommu.h | 36 ++++
include/uapi/linux/iommu.h | 169 ++++++++++++++++++
7 files changed, 747 insertions(+)
create mode 100644 drivers/iommu/ioasid.c
create mode 100644 include/linux/ioasid.h
--
2.7.4
Powered by blists - more mailing lists