01
IOMMU/SMMU概述
为什么需要IOMMU?DMA攻击与系统安全、虚拟化中的设备直通需求、IOMMU与SMMU的异同。
基础安全
02
IOMMU核心概念
地址空间与翻译、I/O页表、TLB与IOTLB、ATS基础。
地址翻译TLB
03
SMMU架构详解
SMMU硬件组成(STE、CD、TBU、TCU)、Stream ID与Substream ID、与ARM体系结构的关系。
硬件ARM
04
I/O页表格式
Stage-1翻译(VA->IPA)、Stage-2翻译(IPA->PA)、混合翻译模式、页表属性与权限控制。
页表Stage
05
SMMU编程模型
SMMU寄存器空间、STE/CD配置、命令队列与事件队列。
编程驱动
06
地址翻译流程
一次完整的I/O访问翻译过程、多级页表遍历、TLB miss处理、与CPU页表walk对比。
流程TLB
07
TLB与缓存一致性
IOTLB结构、TLB tagging(ASID/VMID)、TLB invalidation协议、广播式与点对点失效。
缓存一致性
08
ATS与PCIe集成
ATS协议、PCIe TLP中的地址翻译、PRI与SR-IOV。
PCIeATS
09
SMMU与虚拟化
Virtio设备的SMMU支持、VFIO与设备直通、KVM中的SMMU模拟、嵌套虚拟化。
虚拟化KVM
10
SMMU中断管理
MSI/MSI-X与SMMU、中断重映射、event中断处理、PRI中断与page fault。
中断MSI
11
SMMU调试与性能分析
性能计数器、调试寄存器、trace event分析、常见性能瓶颈。
调试性能
12
SMMU安全特性
TrustZone与SMMU、安全与非安全流隔离、DMA重放攻击防护、IOMMU防火墙。
安全TrustZone
13
SMMU与DMA API
Linux内核DMA API(dma_alloc_coherent/dma_map_single)、IOMMU API、SMMU驱动框架。
内核DMA
14
SMMU设备树与ACPI
设备树SMMU节点、iommu-map与iommu-cells、ACPI IORT表解析、FWTS测试。
设备树ACPI
15
SMMU多实例与共享
多SMMU实例拓扑、与PCIe RC绑定、与platform device、共享STE与CD。
多实例拓扑
16
SMMU与GIC集成
GICv3 ITS与SMMU、LPI中断翻译、设备ID映射、中断隔离。
GIC中断
17
SMMU与NVMe
NVMe over SMMU、PRP/SGL与IOVA、NVMe虚拟化、性能优化实践。
NVMe存储
18
SMMU与GPU
GPU虚拟地址空间、GPU页表与SMMU协同、GPU passthrough、显存访问保护。
GPU虚拟化
19
SMMU与网络设备
DPDK与SMMU、RDMA over SMMU、SmartNIC中的SMMU、VF流量隔离。
网络DPDK
20
SMMU与FPGA
FPGA加速器与SMMU、DFL框架、FPGA虚拟化、用户态驱动。
FPGA加速
21
SMMU与RISC-V
RISC-V IOMMU规范对比、SMMU与RISC-V IOMMU异同、混合架构设计。
RISC-V对比
22
SMMU与CXL
CXL.mem与SMMU、CXL.io与PCIe兼容性、CXL缓存一致性、池化内存场景。
CXL内存
23
SMMU与MPAM
MPAM基础、SMMU与MPAM协同、cache与内存带宽隔离。
MPAM隔离
24
SMMU与DMA重映射
DMA重映射表、RMRR、硬件辅助DMA保护。
重映射RMRR
25
SMMU与SEV/CCA
AMD SEV与SMMU、ARM CCA、机密虚拟机设备访问。
机密计算SEV
26
SMMU与IOMMUfd
IOMMUfd用户态接口、VDPA与SMMU、vSMMU设计、用户态页表管理。
用户态IOMMUfd
27
SMMU与VFIO
VFIO基础、与SMMU绑定、dirty page tracking、migration。
VFIO直通
28
SMMU与UEFI
UEFI DMA保护、SMMU UEFI协议、RT driver与SMMU、secure boot场景。
UEFI固件
29
SMMU与SBSA/SBBR
ARM SBSA规范中的SMMU要求、SBBR兼容性测试、服务器级SMMU配置。
SBSA服务器
30
SMMU未来演进
CXL 3.0与SMMU、chiplet架构中的SMMU、AI加速器SMMU需求、开放标准趋势。
未来趋势