Skip to content

igvmfilegen: bump igvm to microsoft/igvm main and adapt callers#3907

Merged
chris-oo merged 1 commit into
microsoft:mainfrom
mingweishih:pr/igvm-bump
Jul 10, 2026
Merged

igvmfilegen: bump igvm to microsoft/igvm main and adapt callers#3907
chris-oo merged 1 commit into
microsoft:mainfrom
mingweishih:pr/igvm-bump

Conversation

@mingweishih

@mingweishih mingweishih commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Bump the workspace igvm/igvm_defs dependencies to microsoft/igvm rev 3d1a950116d624746bf3342e09ea0a3416d89dd3 (current main tip). This pulls in:

  • PR #109 which pads SevVmsa out to a full 4 KiB page, whereas x86defs::snp::SevVmsa produced by the VP context builder is the architectural 1648-byte structure.
  • PR #122 which adds CoRIM launch-measurement APIs.
  • New AArch64Register variants (X2-X7) and a new IgvmDirectiveHeader::AArch64CcaVpContext variant.

Adapt local callers:

  • igvmfilegen's import_pages SNP branch zero-pads the incoming VMSA up to the igvm crate's expected size before calling SevVmsa::read_from_bytes, and the strict size check is relaxed to allow any input no larger than the padded size.
  • vm/loader and vmm_core/vm_loader mirror the new AArch64Register X2-X7 variants.
  • openvmm_core's IGVM directive matcher adds AArch64CcaVpContext arms (todo-stubbed; no callers exercise CCA yet).

This is a no-op for current functionality and is a prerequisite for the upcoming CoRIM endorsement support.

Copilot AI review requested due to automatic review settings July 9, 2026 18:51
@mingweishih mingweishih requested a review from a team as a code owner July 9, 2026 18:51

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.

Pull request overview

Updates OpenVMM’s IGVM integration to track the upstream microsoft/igvm repository (instead of crates.io) and adapts local loaders/generators to newly introduced IGVM directive/register variants and the updated SNP VMSA sizing expectations.

Changes:

  • Bump workspace igvm / igvm_defs dependencies from 0.4.0 to a pinned Git revision.
  • Update AArch64 register plumbing to support new X2X7 variants.
  • Adjust igvmfilegen SNP VP-context import to accept smaller (architectural) VMSA input by zero-padding to the padded igvm::snp_defs::SevVmsa size.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
vmm_core/vm_loader/src/initial_regs.rs Maps new AArch64 X2X7 register variants into the initial register state.
vm/loader/src/importer.rs Extends the loader’s AArch64 register enum and IGVM conversions for X2X7.
vm/loader/igvmfilegen/src/file_loader.rs Relaxes SNP VMSA size handling and pads input to match upstream igvm’s padded SevVmsa.
openvmm/openvmm_core/src/worker/vm_loaders/igvm.rs Adds matching for IgvmDirectiveHeader::AArch64CcaVpContext (currently unsupported).
Cargo.toml Switches igvm / igvm_defs to Git dependencies pinned by rev.
Cargo.lock Locks updated transitive dependency graph from the IGVM Git bump.

Comment thread openvmm/openvmm_core/src/worker/vm_loaders/igvm.rs
Comment thread openvmm/openvmm_core/src/worker/vm_loaders/igvm.rs
Comment thread vm/loader/igvmfilegen/src/file_loader.rs
Comment thread vm/loader/igvmfilegen/src/file_loader.rs
Comment thread Cargo.toml
Copilot AI review requested due to automatic review settings July 9, 2026 19:08

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.

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated 3 comments.

Comment thread vm/loader/igvmfilegen/src/file_loader.rs Outdated
Comment thread openvmm/openvmm_core/src/worker/vm_loaders/igvm.rs
Comment thread openvmm/openvmm_core/src/worker/vm_loaders/igvm.rs
Bump the workspace igvm/igvm_defs dependencies to microsoft/igvm rev e6c3ff1
(current main tip). This pulls in:

- PR microsoft#109 which pads `SevVmsa` out to a full 4 KiB page, whereas
  `x86defs::snp::SevVmsa` produced by the VP context builder is the
  architectural 1648-byte structure.
- PR microsoft#122 which adds CoRIM launch-measurement APIs.
- New `AArch64Register` variants (X2-X7) and a new
  `IgvmDirectiveHeader::AArch64CcaVpContext` variant.

Adapt local callers:

- igvmfilegen's `import_pages` SNP branch zero-pads the incoming VMSA
  up to the igvm crate's expected size before calling
  `SevVmsa::read_from_bytes`, and the strict size check is relaxed to
  allow any input no larger than the padded size.
- `vm/loader` and `vmm_core/vm_loader` mirror the new
  `AArch64Register` X2-X7 variants.
- `openvmm_core`'s IGVM directive matcher adds `AArch64CcaVpContext`
  arms (todo-stubbed; no callers exercise CCA yet).

This is a no-op for current functionality and is a prerequisite for the
upcoming CoRIM endorsement support.

Signed-off-by: Ming-Wei Shih <mishih@microsoft.com>
Copilot AI review requested due to automatic review settings July 9, 2026 20:02

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.

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated 2 comments.

Comment thread openvmm/openvmm_core/src/worker/vm_loaders/igvm.rs
Comment thread openvmm/openvmm_core/src/worker/vm_loaders/igvm.rs
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

@chris-oo chris-oo merged commit a45e801 into microsoft:main Jul 10, 2026
127 of 132 checks passed
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