IOMMU的選項功能
IOMMU的所有實現都提供一組基本功能,這些功能在技術上是種選項,大多數IOMMU的實現在其設計時已包括了所有已定義的功能。從架構上來看,軟體必須確定對每個功能的支援,並在使用之前啟用每個功能。這些選項功能包括:
- 客戶機虛擬地址到客戶機物理地址的轉譯功能
- AMD64長模式頁表兼容性
- 支援PCI ATS
- 支援PCI-SIG PRI和PASID TLP前綴ECN
- 支援客戶機虛擬APIC(例如AVIC)
- 增強的性能和錯誤記錄功能
- 客戶機頁表用戶/監管員訪問權限檢查
- 客戶機頁表全球監管員訪問保護
- 客戶機頁表不可執行頁面保護
- 設備表的分段
- 具有可選自動交換功能的PPR和事件日誌雙緩衝區
- 具有始終開啟功能的PPR自動響應
- PPR日誌早期溢位警告
- 設備特定功能報告寄存器
- 對MSI設置和映射配置空間字段的MMIO訪問
- 內存訪問路由和控制(MARC)
- 自動阻塞StopMark消息處理
- 客戶機I/O保護
- x2APIC
- 硬體加速虛擬IOMMU(vIOMMU)
- 安全ATS
- 安全嵌套分頁
如果EFRSup位被設置,則支援IOMMU擴展功能寄存器(MMIO偏移0030h)。通過讀取EFR,軟體可以確定該系統中的IOMMU實現支援哪些選項功能。在大多數情況下,對功能的支援由EFR相應字段中的非零值表示。
參考來源