AcpiVTD
| Index |
Module |
Size |
Phase |
| 319 |
AcpiVTD |
9956 bytes (9.7 KB) |
DXE |
Overview
Constructs the DMA-Remapping (DMAR) ACPI table for Intel VT-d (Virtualization Technology for Directed I/O). Reads platform configuration from UEFI setup variables and PCD, builds DRHD, RMRR, ATSR, and RHSA sub-tables, sorts them by device scope, and installs the final DMAR table via the ACPI Table Protocol. The driver handles both single- and multi-segment PCI topology and supports interrupt remapping and hardware-accelerated DMA with optional DMA remapping.
Key Functions
- AcpiVTDDxeEntryPoint -- Module entry point; locates protocols, reads platform setup variables, drives DMAR construction
- BuildDmarTable -- Builds the complete DMAR table skeleton with header and container structures
- InsertDrhd -- Inserts DMA-Remapping Hardware Unit Definition (DRHD) sub-tables for each VT-d engine
- InsertRmrr -- Inserts Reserved Memory Region Reporting (RMRR) entries for USB/XHCI and graphics
- InsertAtsr -- Inserts Address Translation Service Reporting (ATSR) sub-tables for PCIe root ports
- SortSubTables -- Sorts DMAR sub-tables by segment group, bus number, and device/function per the ACPI specification
Dependencies
- UEFI Boot/Runtime Services
- ACPI Table Protocol
- PCD Protocol
- Setup Variable Protocol (platform-specific)
Intel x86-64 (PE32+), Purley platform (HR650X). UEFI subsystem.