VFIO - “Virtual Function I/O” — The Linux Kernel documentation
Many modern systems now provide DMA and interrupt remapping facilities to help ensure I/O devices behave within the boundaries they’ve been allotted. This includes x86 hardware with AMD-Vi and Intel VT-d, POWER systems with Partitionable Endpoints (PEs) and embedded PowerPC systems such as Freescale PAMU. The VFIO driver is an IOMMU/device agnostic framework for exposing direct device access to userspace, in a secure, IOMMU protected environment. In other words, this allows safe [2], non-privileged, userspace drivers.
VFIO - “Virtual Function I/O” — The Linux Kernel documentation The Linux Kernel 7.1.0 Quick search Contents Development process Submitting patches Code of conduct Maintainer handbook All development-process docs Core API Driver APIs General information for driver authors Useful support libraries Early Userspace Kernel Connector Bus-Independent Device Accesses Device Frequency Scaling Buffer Sharing and Synchronization (dma-buf) Component Helper for Aggregate Drivers The io_mapping functions Ordering I/O writes to memory-mapped addresses The Userspace I/O HOWTO VFIO Mediated devices VFIO
saved by
related reading
- GPU Driver Developer’s Guide — The Linux Kernel documentationdocs.kernel.org
- Unreliable Guide To Locking — The Linux Kernel documentationdocs.kernel.org
- virtio-paper.pdfozlabs.org
- User Mode Linux HOWTO - The Linux Kernel documentationkernel.org
- Direct Rendering Manager - Wikipediaen.wikipedia.org
- Cache and TLB Flushing Under Linux — The Linux Kernel documentationdocs.kernel.org
- Linux kernel memory barriers — The Linux Kernel documentationdocs.kernel.org
- Inside NVIDIA GPUs: Anatomy of high performance matmul kernels - Aleksa Gordićaleksagordic.com
- Kernel modules - The Linux Kernel documentationlinux-kernel-labs.github.io
- The "Basics" | Putting the "You" in CPUcpu.land
- firecracker/docs/design.md at main · firecracker-microvm/firecrackergithub.com
- Porting Mac OS X to the Nintendo Wii | Bryan Keller’s Dev Blogbryankeller.github.io