Skip to content

iommu: IOMMU and DMA-mapping API Updates for 9.4

Jerry Snitselaar requested to merge jsnitsel/centos-stream-9:c9s-iommu into main

Merge Request Required Information

Bugzilla: https://bugzilla.redhat.com/2223717
JIRA: https://issues.redhat.com/browse/RHEL-10007
JIRA: https://issues.redhat.com/browse/RHEL-10026
JIRA: https://issues.redhat.com/browse/RHEL-10042
JIRA: https://issues.redhat.com/browse/RHEL-10094
JIRA: https://issues.redhat.com/browse/RHEL-3655
JIRA: https://issues.redhat.com/browse/RHEL-800

Depends: !3244	
Depends: !3245

Omitted-fix: c7bd8a1f45ba ("iommu/apple-dart: Handle DMA_FQ domains in attach_dev()")
             - Apple Dart not supported

Upstream Status: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

Testing: A mix of fio jobs, and various stress-ng io stressors (--hdd, --readahead, --aio, --aiol, --seek,
         --sync_file) run with strict and lazy translation modes on amd, intel, and arm systems. pgtbl_v2
         tested on AMD Genoa host

Conflicts: Should be noted in individual commits. In particular one upstream merge in 6.4, 58390c8ce1bd, had a rather
           messy merge conflict resolution set, so a number of commits have those cleanups added in here.

Summary of Changes

        Rebase through v6.5 with a good portion of v6.6 as well (minus the
	dynamic swiotlb mempool support, per numa dma cma support, and arm
	+ mm tlb invalidate changes). For iommufd changes there are
	backports of the underlying functionality in iommufd, but I have left
	the vfio commits that will eventually make use of it for Alex.
	
Highlights
	* AMD GA Log Overflow refactor and PPR Log support
	* AMD v2 page table support
	* AMD v2 5 level guest page table support
	* Various cleanups and fixes
	* Sync ipmmu-vmsa in preparation for Renesas support  (config not enabled)
	* Continuation of swiotlb rework
	* Continuation of the refactor of core iommu code as part of SVA, iommufd, and pasid support work
	* Continuation of the iommufd prep work (config still not enabled)
	* Support for bounce buffer usage with non cache-line aligned kmallocs on arm64
	* Clean up of in-kernel pasid use for vt-d
	* More cleanup of BUG_ON and warning use in vt-d


        This is based on top of MR !2843 and !3158.

Signed-off-by: Jerry Snitselaar jsnitsel@redhat.com

Approved Development Ticket

All submissions to CentOS Stream must reference an approved ticket in Red Hat Jira. Please follow the CentOS Stream contribution documentation for how to file this ticket and have it approved.

Edited by Jerry Snitselaar

Merge request reports