Skip to content

UefiTestingPkg: Correctly handle cached DMA audit ACPI tables - #938

Merged
Eeshan Londhe (eeshanl) merged 1 commit into
microsoft:release/202511from
eeshanl:dmaprotectionacpi
Sep 15, 2026
Merged

Eeshan Londhe (eeshanl) merged 1 commit into
microsoft:release/202511from
eeshanl:dmaprotectionacpi

Conversation

@eeshanl

@eeshanl Eeshan Londhe (eeshanl) commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Description

Correctly handle cached DMA audit ACPI tables. Fixes #937

Tests call GetDmarAcpiTable(), but the Intel VT-d and IVRS implementation caches the ACPI table and returns EFI_ALREADY_STARTED on the second call without a reboot.

GetAcpiTable() will no longer return already started and will always refresh the pointer with the data. On the caller side, the caching of the global variable is handled so we don't call GetAcpiTable() redundantly.

  • Impacts functionality?
  • Impacts security?
  • Breaking change?
  • Includes tests?
  • Includes documentation?

How This Was Tested

Tested on Intel platform and all tests now pass.

Integration Instructions

N/A

@mu-automation

mu-automation Bot commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

✅ QEMU Validation Passed

Source Dependencies

Repository Commit
mu_plus a7b48d9
mu_tiano_platforms d966ff0

Results

Platform Target Build Boot Overall Boot Time Build Logs Boot Logs
Q35 DEBUG ✅ success ✅ success 0m 18s Build Logs Boot Logs
ArmVirt DEBUG ✅ success ✅ success 0m 14s Build Logs Boot Logs

Workflow run: https://github.com/microsoft/mu_plus/actions/runs/35010475228

This comment was automatically generated by the Mu QEMU PR Validation workflow.

@mu-automation mu-automation Bot added the impact:non-functional Does not have a functional impact label Sep 11, 2026
Comment thread UefiTestingPkg/AuditTests/DMAProtectionAudit/UEFI/Acpi.c Outdated
Comment thread UefiTestingPkg/AuditTests/DMAProtectionAudit/UEFI/Acpi.c Outdated
@eeshanl
Eeshan Londhe (eeshanl) force-pushed the dmaprotectionacpi branch 4 times, most recently from 84e2539 to a13e5bc Compare September 14, 2026 05:30
@eeshanl Eeshan Londhe (eeshanl) changed the title UefiTestingPkg: Return success for cached DMA audit ACPI tables UefiTestingPkg: Correctly handle cached DMA audit ACPI tables Sep 14, 2026
Comment thread UefiTestingPkg/AuditTests/DMAProtectionAudit/UEFI/Acpi.c Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, looks fine now with the assert open remaining. Please wait for Intel system verification before merging.

@eeshanl
Eeshan Londhe (eeshanl) merged commit a8b711b into microsoft:release/202511 Sep 15, 2026
33 of 42 checks passed
Aaron (apop5) pushed a commit that referenced this pull request Sep 15, 2026
## Description

Correctly handle cached DMA audit ACPI tables. Fixes
#937

Tests call GetDmarAcpiTable(), but the Intel VT-d and IVRS
implementation caches the ACPI table and returns EFI_ALREADY_STARTED on
the second call without a reboot.

GetAcpiTable() will no longer return already started and will always
refresh the pointer with the data. On the caller side, the caching of
the global variable is handled so we don't call GetAcpiTable()
redundantly.

- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?

## How This Was Tested

Tested on Intel platform and all tests now pass.

## Integration Instructions

N/A

(cherry picked from commit a8b711b)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

impact:non-functional Does not have a functional impact

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: DMAVTdProtectionUnitTestApp Failure

3 participants