介绍AMD IOMMU driver基于IVRS的硬件初始化情况
1. I/O Virtualization ACPI table
2. drivers/iommu/amd/init.c
1. I/O Virtualization ACPI table [1]
AMD IOMMU的ACPI数据结构,这里只列出一个大概
IVRS (I/O Virtualization Reporting Struct)
-> 48-byte header
-> IVDB:IVHD (I/O Virtualizaiton Hardware Definition) -- info about IOMMU and devices
Types 10h, 11h, 40h, IVHD是关于IOMMU与downstream设备的信息
-> IVDB:IVMD (I/O Virtualizaiton Memory Definition, optional) -- special memory constraints
Types 20h, 21h, 22h, IVMD是相关设备的memory信息
Header:
IVHD:
Flags: PPR,PreF, Coherenet, Iotbl, Isoc, ResPassPW,