Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Determine CPU family inside VM #272

Open
Villain88 opened this issue Jan 6, 2025 · 2 comments
Open

Determine CPU family inside VM #272

Villain88 opened this issue Jan 6, 2025 · 2 comments

Comments

@Villain88
Copy link

I am using AMD SEV-SNP in my project. The VM is supposed to generate a report and send it along with the certificate chain (including vcek) to the verifying party. To get the vcek it is important to know the generation of the processor. The hypervisor may use cpuid masking, so the standard mechanisms for obtaining family/model/stepping may not work. The report also does not contain family information other than chipid. Can you tell me if there is a reliable way to distinguish milan from genoa inside a VM?

@tylerfanelli
Copy link
Member

tylerfanelli commented Jan 6, 2025

I don't believe there's a way to determine the SEV-SNP generation from the VM.

I've come across this problem before, and have opted to instead have the ARK/ASK chain of different architectures (milan, genoa, etc...) verified by the Relying Party rather than the VM itself.

@DGonzalezVillal
Copy link
Member

Hello @Villain88

Originally there was no way of telling your CPU model inside of a virtual machine. But on a recent update to the AMD SEV firmware, there is a new version of the Attestation Report. In version 3 of the attestation report the fields for cpuid family, model and stepping were added. From those you should be able to tell what CPU generation you have in the hose system.

Support for the new attestation report is being added now in #268.

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

No branches or pull requests

3 participants