No description
  • C 97%
  • Assembly 1%
  • Shell 0.6%
  • Rust 0.5%
  • Python 0.4%
  • Other 0.3%
Find a file
Jason Gunthorpe 36ae67b139 iommu/pages: Add support for incoherent IOMMU page table walkers
Some IOMMU HW cannot snoop the CPU cache when it walks the IO page tables.
The CPU is required to flush the cache to make changes visible to the HW.

Provide some helpers from iommu-pages to manage this. The helpers combine
both the ARM and x86 (used in Intel VT-d) versions of the cache flushing
under a single API.

The ARM version uses the DMA API to access the cache flush on the
assumption that the iommu is using a direct mapping and is already marked
incoherent. The helpers will do the DMA API calls to set things up and
keep track of DMA mapped folios using a bit in the ioptdesc so that
unmapping on error paths is cleaner.

The Intel version just calls the arch cache flush call directly and has no
need to cleanup prior to destruction.

Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
2025-11-05 09:47:43 +01:00
arch iommu: Pass in old domain to attach_dev callback functions 2025-10-27 13:55:35 +01:00
block block-6.18-20251023 2025-10-24 12:48:19 -07:00
certs
crypto
Documentation genpt: Add Documentation/ files 2025-11-05 09:07:07 +01:00
drivers iommu/pages: Add support for incoherent IOMMU page table walkers 2025-11-05 09:47:43 +01:00
fs - Remove dead code leftovers after a recent mitigations cleanup which fail 2025-10-26 09:57:18 -07:00
include iommupt: Add a kunit test for the IOMMU implementation 2025-11-05 09:08:58 +01:00
init
io_uring io_uring: fix buffer auto-commit for multishot uring_cmd 2025-10-23 19:41:31 -06:00
ipc
kernel - Restore the original buslock locking in a couple of places in the irq core 2025-10-26 09:54:36 -07:00
lib lib/crypto: poly1305: Restore dependency of arch code on !KMSAN 2025-10-22 10:52:10 -07:00
LICENSES
mm slab fixes for 6.18-rc3 2025-10-24 12:40:51 -07:00
net Including fixes from can. Slim pickings, I'm guessing people haven't 2025-10-23 07:03:18 -10:00
rust Driver core fixes for 6.18-rc3 2025-10-25 11:03:46 -07:00
samples
scripts
security
sound
tools iommufd: Change the selftest to use iommupt instead of xarray 2025-11-05 09:07:13 +01:00
usr
virt
.clang-format genpt: Generic Page Table base API 2025-11-05 09:07:04 +01:00
.clippy.toml
.cocciconfig
.editorconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap MAINTAINERS: Update Alex Williamson's email address 2025-10-20 15:45:03 -06:00
.pylintrc
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS io_uring-6.18-20251023 2025-10-24 12:44:31 -07:00
Makefile Linux 6.18-rc3 2025-10-26 15:59:49 -07:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the reStructuredText markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.