Newer
Older
AMI-Aptio-BIOS-Reversed / AcpiVTD / README.md
@Ajax Dong Ajax Dong 2 days ago 1 KB Init

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)

Platform

Intel x86-64 (PE32+), Purley platform (HR650X). UEFI subsystem.