UefiTestingPkg: SmmuV3 DMA Protection Audit Tests - #811
Merged
Eeshan Londhe (eeshanl) merged 6 commits intoAug 3, 2026
Conversation
Eeshan Londhe (eeshanl)
force-pushed
the
smmu_audit_test
branch
from
January 8, 2026 07:58
1f55ab9 to
917c251
Compare
Eeshan Londhe (eeshanl)
force-pushed
the
smmu_audit_test
branch
9 times, most recently
from
January 9, 2026 05:13
5e58e84 to
d0d4513
Compare
Contributor
|
This PR has been automatically marked as stale because it has not had activity in 60 days. It will be closed if no further activity occurs within 7 days. Thank you for your contributions. |
Contributor
|
This pull request has been automatically been closed because it did not have any activity in 60 days and no follow up within 7 days after being marked stale. Thank you for your contributions. |
Contributor
✅ QEMU Validation PassedSource Dependencies
Results
Workflow run: https://github.com/microsoft/mu_plus/actions/runs/30850786272 This comment was automatically generated by the Mu QEMU PR Validation workflow. |
Contributor
|
This PR has been automatically marked as stale because it has not had activity in 60 days. It will be closed if no further activity occurs within 7 days. Thank you for your contributions. |
Eeshan Londhe (eeshanl)
force-pushed
the
smmu_audit_test
branch
from
June 16, 2026 04:33
d0d4513 to
44a55d3
Compare
Eeshan Londhe (eeshanl)
force-pushed
the
smmu_audit_test
branch
from
June 16, 2026 04:37
44a55d3 to
d5cf5ac
Compare
Eeshan Londhe (eeshanl)
changed the base branch from
release/202502
to
release/202511
June 16, 2026 04:39
Eeshan Londhe (eeshanl)
force-pushed
the
smmu_audit_test
branch
2 times, most recently
from
June 16, 2026 05:22
172a9be to
17f60ec
Compare
Eeshan Londhe (eeshanl)
force-pushed
the
smmu_audit_test
branch
from
July 30, 2026 20:29
17f60ec to
8ee474a
Compare
Eeshan Londhe (eeshanl)
force-pushed
the
smmu_audit_test
branch
from
July 30, 2026 20:30
8ee474a to
7a34ce7
Compare
Eeshan Londhe (eeshanl)
marked this pull request as ready for review
July 30, 2026 20:35
Eeshan Londhe (eeshanl)
requested review from
Chris Fernald (cfernald),
kuqin12,
Oliver Smith-Denny (os-d) and
Sean Brogan (spbrogan)
July 30, 2026 21:16
Eeshan Londhe (eeshanl)
force-pushed
the
smmu_audit_test
branch
2 times, most recently
from
July 30, 2026 21:32
5614ecb to
f288cf7
Compare
kuqin12
reviewed
Jul 30, 2026
Eeshan Londhe (eeshanl)
force-pushed
the
smmu_audit_test
branch
2 times, most recently
from
July 30, 2026 22:23
772975a to
43916de
Compare
Oliver Smith-Denny (os-d)
approved these changes
Aug 2, 2026
Eeshan Londhe (eeshanl)
force-pushed
the
smmu_audit_test
branch
from
August 3, 2026 20:24
43916de to
62575d1
Compare
kuqin12
approved these changes
Aug 3, 2026
Eeshan Londhe (eeshanl)
merged commit Aug 3, 2026
484e502
into
microsoft:release/202511
44 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Add SmmuV3 DMA Protection Audit Tests
Extends the DMA Protection Audit suite (previously VT-d and IVRS only) with an AArch64 DMASmmuProtectionUnitTestApp that plugs SMMUv3-specific implementations into the existing shared test entry point. The app parses the IORT (EFI_ACPI_6_0_IO_REMAPPING_TABLE_SIGNATURE) to enumerate SMMUv3 nodes and their Reserved Memory Range (RMR) associations, then registers three test cases:
CheckIOMMUEnabled - IOMMU.StatusRegister
For each SMMUv3 unit discovered in the IORT, verifies the unit is in a DMA-safe state.
If translation is on (CR0.SMMUEN == 1), the test additionally confirms:
CR0.CMDQEN == 1 (command queue enabled)
CR0.EVTQEN == 1 (event queue enabled)
STRTAB_BASE != 0 (stream table configured)
GERROR == 0 (no global errors)
CheckExcludedRegions - IOMMU.ExcludedRangeTest
SMMU equivalent of the VT-d / IVRS "excluded regions" check. Walks every RMR node in the IORT and, for each one, verifies:
An EFI memory map descriptor fully encompasses the RMR's [BaseAddress, BaseAddress + Length) range, and
That descriptor's memory type is EfiReservedMemoryType.
An RMR that is missing from the memory map, or is present but marked with a non-reserved type, fails the test. Platforms with no RMRs in the IORT pass trivially.
CheckBMETeardown - IOMMU.BMETeardown (shared)
Unchanged behavior - the existing "bus mastering disabled at ExitBootServices" test is reused as-is. Test registration order was adjusted so this reboot-triggering test runs last, and a PASSED log line was added on the success path.
For details on how to complete these options and their meaning refer to CONTRIBUTING.md.
How This Was Tested
Tested on physical ARM device
Integration Instructions
N/A