The purpose is to investigate how to setup DMA remapping via r/w DMAR table in Hyper-V OFF mode.
There seems no way to access ACPI DMAR table directly via some DDI in kernel mode.
The user mode APIs to query similar information is to use EnumSystemFirmwareTables() and GetSystemFirmwareTable().
The kernel mode API may be using NtQuerySystemInformation() with an undocumented enum SystemFirmwareTableInformation. The common way is to send IOCTL_ACPI_xxx down to the stack, however those IOCTLs obviously can't meed the requirement.
So looks like the only way is to parse the SystemFirmwareTables locally according to ACPI spec and IOMMU/DMAR defines, and program as I wish? Any better way to archive the goal?