Skip to content

uefi: support interface v2 and consolidated firmware volumes - #4692

Merged
Maheer Aeron (maheeraeron) merged 1 commit into
microsoft:mainfrom
maheeraeron:user/maheeraeron/uefi-interface-version
Oct 20, 2026
Merged

Maheer Aeron (maheeraeron) merged 1 commit into
microsoft:mainfrom
maheeraeron:user/maheeraeron/uefi-interface-version

Conversation

@maheeraeron

@maheeraeron Maheer Aeron (maheeraeron) commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Prepare OpenVMM to consume the upcoming mu_msvm firmware interface 2.0, which accounts for the consolidated PEI/DXE firmware volume layout.

  • Accept interface majors 1 and 2, including newer minor versions within either major; continue rejecting unknown majors.
  • Discover the AArch64 version record by walking firmware volumes using their declared lengths and locating its FFS file by GUID. This supports both the older split layout and the consolidated layout without needing the interface version before locating the record.
  • Preserve support for transition firmware with consolidated volumes that still reports interface 1.0.

The x64 version-record volume remains at offset 0. No firmware release pins, toolchain selection, or boot entry points change in this PR.

Copilot AI balanced review requested due to automatic review settings October 19, 2026 19:18
@maheeraeron
Maheer Aeron (maheeraeron) marked this pull request as ready for review October 19, 2026 19:20
@maheeraeron
Maheer Aeron (maheeraeron) requested a review from a team as a code owner October 19, 2026 19:20

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

The focused compatibility changes have regression coverage, with only a non-blocking documentation follow-up remaining.

No open issues 🎉

What changed in this PR

Prepares OpenVMM for mu_msvm interface 2.0 while preserving older firmware support.

Changes:

  • Accepts interface majors 1 and 2, including newer minor versions.
  • Discovers AArch64 version records across split and consolidated firmware volumes.
  • Adds compatibility, layout, and malformed-input regression tests.
File Description
vm/​loader/​src/​uefi/​firmware_version.rs Adds AArch64 volume traversal and parser tests.
openvmm/​openvmm_core/​src/​worker/​vm_loaders/​uefi.rs Expands interface compatibility checks, diagnostics, and tests.

Review effort: Balanced

@github-actions

Copy link
Copy Markdown

@maheeraeron
Maheer Aeron (maheeraeron) merged commit 20236b3 into microsoft:main Oct 20, 2026
177 of 181 checks passed
@maheeraeron
Maheer Aeron (maheeraeron) deleted the user/maheeraeron/uefi-interface-version branch October 20, 2026 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants