- Down to the TLP: How PCI express devices talk (Part I)
- PCIe OSDev
- Motherboard block diagram
- [Video] Memory Mapped I/O and an introduction to Serial and PCI Express Busses
- An Introduction to PCI Express
- A study of the Linux kernel PCI subsystem with QEMU
- [Book] PCI Express System Architecture
- Understanding Performance of PCI Express Systems
- ntel® Xeon® Processor Scalable Memory Family Uncore Performance Monitoring
- Utilizing the Intel® Xeon® Processor Scalable Family IIO Performance Monitoring Events
- Introduction to direct memory access
- Memory Mapping and DMA
- The chained scatterlist API
- scatterlist.h
- DMA
- DMA API HOWTO
- How to program the DMA
- Why you should know about DMA
- Direct Memory Access: Data Transfer Without Micro-Management
- DMA explained by astralvx
-
VIRTUALIZING IO THROUGH THE IO MEMORY MANAGEMENT UNIT (IOMMU)
-
[Video] RISC-V IOMMU Architecture Overview - Perrine Peresse
-
IOMMU
-
Linux NIC buffer allocation