Skip to content

igvm: Update SevVmsa structure definition. Pad to full 4K.#109

Open
RARelph wants to merge 2 commits intomicrosoft:mainfrom
RARelph:main
Open

igvm: Update SevVmsa structure definition. Pad to full 4K.#109
RARelph wants to merge 2 commits intomicrosoft:mainfrom
RARelph:main

Conversation

@RARelph
Copy link

@RARelph RARelph commented Mar 3, 2026

Fixes #108 - Updates SevVmsa with documented VMSA fields and extends structure to 4K page size.

@RARelph RARelph requested a review from a team as a code owner March 3, 2026 16:24
@chris-oo chris-oo self-assigned this Mar 3, 2026
@RARelph
Copy link
Author

RARelph commented Mar 3, 2026

@microsoft-github-policy-service agree company="AMD"

@chris-oo
Copy link
Member

chris-oo commented Mar 4, 2026

Jon and I discussed this offline that I think it might make more sense to move away from defining some of these architectural definitions in the igvm and igvm_defs crate themselves, and defer to just being an opaque type outside of bits we need within IGVM itself. For example, we think that we might need sev_features for some CoRIM validation in the future, but we'd mark the rest of the fields as reserved, and leave it as convertible to a 4K u8 slice via IntoBytes/FromBytes.

I think this would apply to quite a few things in this crate so I need to sit down and find some time to refactor this, but would mean every time hardware changes/adds a new feature, we're not required to add all these definitions because IGVM shouldn't be the authoritative definition for specific hardware.

This does mean consumers of this crate will need to carry their own definition of hardware specific fields, but I think that's fine. I wonder if we should have a snp_defs crate in this case that consumers can use?

Thoughts?

@RARelph
Copy link
Author

RARelph commented Mar 4, 2026

I think moving architecture specifics to an architecture-specific crate makes sense. Sounds like more work... but it makes sense.

@chris-oo
Copy link
Member

chris-oo commented Mar 6, 2026

Mainly, I don't want this crate to become a defacto source for hardware specific definitions. Even if we might use a few bit definitions, they should be stable but we shouldn't have to need to update IGVM's definition for a new hardware feature.

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.

SevVmsa is incomplete

2 participants