Shared Virtual Addressing for High Performance Arm Infrastructure Platforms
summary
Design shows a working SVA implementation that lets PCI accelerators DMA guest or host virtual pointers by programming CPU page tables into the IOMMU and handling IO page faults across VFIO and virtio rings. Hardware pieces are SMMUv3 ATS/PRI/PASID support and PCIe devices; software pieces are KVM/VFIO, a back-end virtio IOMMU, and guest front-end handling nested page faults. Flow is validated end-to-end: ATS fails, PRI/PRI-queue invokes kernel page fault, guest updates PTs, virtio sends successful PRI response.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 0:19Outline
- 0:59Why Virtual Addressing
- 6:27Advantages
- 8:03Hardware Requirements
- 13:10VA Flow
- 19:40Virtualization
- 23:51Current Proposed Design
- 26:05Virtual Machine Flow
- 33:50Current Status
related talks
22mAMD-vIOMMU: A Hardware-assisted Virtual IOMMU Technology
28mVirtio on Type-1 hypervisors
24mRISC-V IOMMU
28mVirtual Versus Physical: Virtio Changes for New Hardware
21mVirtio hardware accelerators and other news
26mCooperative DMA in a memory-oversubscribed environment
41mVirtIo-Net PCIe Function Using Linux PCI Endpoint Framework
41mVirtIo-Net PCIe Function Using Linux PCI Endpoint Framework
