vt-d/iommu: RMRR-declared ACPI device handling in current VT-d Driver

From: raymond pang
Date: Wed Dec 12 2018 - 12:15:12 EST

Dear Joerg & David,
I have a question about current VT-d driver. I found it can not handle
following case:
An RMRR-declared ACPI device (it's also declared by ANDD) cannot
work using current VT-d driver. its DMAs will be blocked by VT-d.
The reason is that current VT-d driver only tries to setup identity map
for devices in dmar_rmrr_unit->device[]. But it doesn't add
RMRR-declared ACPI device into dmar_rmrr_unit->device[]. It just
allocates memory space for this ACPI device in dmar_parse_one_rmrr().
Let's see RMRR-declared PCI device. VT-d driver allocates memory
space for it and then adds it into dmar_rmrr_unit->device[] via
If there is any mistake, please correct me. Thanks