Merge tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd
Pull iommufd updates from Jason Gunthorpe: - The iova_bitmap logic for efficiently reporting dirty pages back to userspace has a few more tricky corner case bugs that have been resolved and backed with new tests. The revised version has simpler logic. - Shared branch with iommu for handle support when doing domain attach. Handles allow the domain owner to include additional private data on a per-device basis. - IO Page Fault Reporting to userspace via iommufd. Page faults can be generated on fault capable HWPTs when a translation is not present. Routing them to userspace would allow a VMM to be able to virtualize them into an emulated vIOMMU. This is the next step to fully enabling vSVA support. * tag 'for-linus-iommufd' of git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd: (26 commits) iommufd: Put constants for all the uAPI enums iommufd: Fix error pointer checking iommufd: Add check on user response code iommufd: Remove IOMMUFD_PAGE_RESP_FAILURE iommufd: Require drivers to supply the cache_invalidate_user ops iommufd/selftest: Add coverage for IOPF test iommufd/selftest: Add IOPF support for mock device iommufd: Associate fault object with iommufd_hw_pgtable iommufd: Fault-capable hwpt attach/detach/replace iommufd: Add iommufd fault object iommufd: Add fault and response message definitions iommu: Extend domain attach group with handle support iommu: Add attach handle to struct iopf_group iommu: Remove sva handle list iommu: Introduce domain attachment handle iommufd/iova_bitmap: Remove iterator logic iommufd/iova_bitmap: Dynamic pinning on iova_bitmap_set() iommufd/iova_bitmap: Consolidate iova_bitmap_set exit conditionals iommufd/iova_bitmap: Move initial pinning to iova_bitmap_for_each() iommufd/iova_bitmap: Cache mapped length in iova_bitmap_map struct ...
Showing
- drivers/dma/idxd/init.c 1 addition, 1 deletiondrivers/dma/idxd/init.c
- drivers/iommu/io-pgfault.c 36 additions, 27 deletionsdrivers/iommu/io-pgfault.c
- drivers/iommu/iommu-priv.h 11 additions, 0 deletionsdrivers/iommu/iommu-priv.h
- drivers/iommu/iommu-sva.c 28 additions, 14 deletionsdrivers/iommu/iommu-sva.c
- drivers/iommu/iommu.c 143 additions, 42 deletionsdrivers/iommu/iommu.c
- drivers/iommu/iommufd/Makefile 1 addition, 0 deletionsdrivers/iommu/iommufd/Makefile
- drivers/iommu/iommufd/device.c 4 additions, 3 deletionsdrivers/iommu/iommufd/device.c
- drivers/iommu/iommufd/fault.c 443 additions, 0 deletionsdrivers/iommu/iommufd/fault.c
- drivers/iommu/iommufd/hw_pagetable.c 32 additions, 9 deletionsdrivers/iommu/iommufd/hw_pagetable.c
- drivers/iommu/iommufd/iommufd_private.h 80 additions, 0 deletionsdrivers/iommu/iommufd/iommufd_private.h
- drivers/iommu/iommufd/iommufd_test.h 8 additions, 0 deletionsdrivers/iommu/iommufd/iommufd_test.h
- drivers/iommu/iommufd/iova_bitmap.c 49 additions, 75 deletionsdrivers/iommu/iommufd/iova_bitmap.c
- drivers/iommu/iommufd/main.c 6 additions, 0 deletionsdrivers/iommu/iommufd/main.c
- drivers/iommu/iommufd/selftest.c 67 additions, 3 deletionsdrivers/iommu/iommufd/selftest.c
- include/linux/iommu.h 25 additions, 16 deletionsinclude/linux/iommu.h
- include/uapi/linux/iommufd.h 123 additions, 18 deletionsinclude/uapi/linux/iommufd.h
- tools/testing/selftests/iommu/iommufd.c 63 additions, 23 deletionstools/testing/selftests/iommu/iommufd.c
- tools/testing/selftests/iommu/iommufd_fail_nth.c 1 addition, 1 deletiontools/testing/selftests/iommu/iommufd_fail_nth.c
- tools/testing/selftests/iommu/iommufd_utils.h 85 additions, 7 deletionstools/testing/selftests/iommu/iommufd_utils.h
Please register or sign in to comment