Skip to content

abi: support Siena product line #167

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

msanft
Copy link
Contributor

@msanft msanft commented May 22, 2025

This adds support for the "Siena" product line, which, as per the VCEK and KDS interface spec (rev 1.0), is widely identical to the Genoa product line. Furthermore, it aligns the parsing of the model line with the specification by only referring to the extended model ID for deriving the product name from the CPUID return value, which is what Table 4 of the aforementioned specification suggests.


This has been tested on a Siena machine with the following example program:

package main

import (
	"fmt"

	"github.com/google/go-sev-guest/abi"
)

func main() {
	fmt.Printf("Product: %+v\n", abi.SevProduct())
}

Before this patch, this would return:

ubuntu@em-pm-testing-1:~$ ./pre-patch
Product: machine_stepping:{}

After the patch, it correctly selects the "Genoa" product line:

ubuntu@em-pm-testing-1:~$ ./post-patch
Product: name:SEV_PRODUCT_GENOA  machine_stepping:{value:2}

This adds support for the "Siena" product line, which, as per the VCEK
and KDS interface spec (rev 1.0), is widely identical to the Genoa
product line. Furthermore, it aligns the parsing of the model line with
the specification by only referring to the extended model ID for
deriving the product name from the CPUID return value, which is what
Table 4 of the aforementioned specification suggests.
case milanModel:
productName = pb.SevProduct_SEV_PRODUCT_MILAN
case genoaModel:
case genoaModel, sienaModel:
Copy link
Contributor

Choose a reason for hiding this comment

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

The Siena model in the zen4 family should still have the Siena product name.

Copy link
Contributor

Choose a reason for hiding this comment

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

Checking back in about this.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sorry, unfortunately, I don't have access to the machine I tested this on (a Siena one) anymore. I'll see what I can do - the change you've mentioned should not be a problem at least :P

Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think we should try to claim support without running on hardware. I also don't have access to a siena machine.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ok, would propose for closing this for now then.

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.

2 participants