@@ -18,17 +18,17 @@ import (
18
18
)
19
19
20
20
// LaunchDigestFromOVMF calculates a launch digest from a MetadataWrapper object.
21
- func LaunchDigestFromMetadataWrapper (wrapper ovmf.MetadataWrapper , vcpuCount int ) ([]byte , error ) {
22
- return launchDigest (wrapper .MetadataItems , wrapper .ResetEIP , vcpuCount , wrapper .OVMFHash )
21
+ func LaunchDigestFromMetadataWrapper (wrapper ovmf.MetadataWrapper , guestFeatures uint64 , vcpuCount int ) ([]byte , error ) {
22
+ return launchDigest (wrapper .MetadataItems , wrapper .ResetEIP , guestFeatures , vcpuCount , wrapper .OVMFHash )
23
23
}
24
24
25
25
// LaunchDigestFromOVMF calculates a launch digest from an OVMF object and an ovmfHash.
26
- func LaunchDigestFromOVMF (ovmfObj ovmf.OVMF , vcpuCount int , ovmfHash []byte ) ([]byte , error ) {
26
+ func LaunchDigestFromOVMF (ovmfObj ovmf.OVMF , guestFeatures uint64 , vcpuCount int , ovmfHash []byte ) ([]byte , error ) {
27
27
resetEIP , err := ovmfObj .SevESResetEIP ()
28
28
if err != nil {
29
29
return nil , fmt .Errorf ("getting reset EIP: %w" , err )
30
30
}
31
- return launchDigest (ovmfObj .MetadataItems (), resetEIP , vcpuCount , ovmfHash )
31
+ return launchDigest (ovmfObj .MetadataItems (), resetEIP , guestFeatures , vcpuCount , ovmfHash )
32
32
}
33
33
34
34
func OVMFHash (ovmfObj ovmf.OVMF ) ([]byte , error ) {
@@ -40,7 +40,7 @@ func OVMFHash(ovmfObj ovmf.OVMF) ([]byte, error) {
40
40
}
41
41
42
42
// launchDigest calculates the launch digest from metadata and ovmfHash for a SNP guest.
43
- func launchDigest (metadata []ovmf.MetadataSection , resetEIP uint32 , vcpuCount int , ovmfHash []byte ) ([]byte , error ) {
43
+ func launchDigest (metadata []ovmf.MetadataSection , resetEIP uint32 , guestFeatures uint64 , vcpuCount int , ovmfHash []byte ) ([]byte , error ) {
44
44
guestCtx := gctx .New (ovmfHash )
45
45
46
46
if err := snpUpdateMetadataPages (guestCtx , metadata , vmmtypes .EC2 ); err != nil {
@@ -49,7 +49,7 @@ func launchDigest(metadata []ovmf.MetadataSection, resetEIP uint32, vcpuCount in
49
49
50
50
// Add support for flags {vcpus_family, vcpu_sig, vcpu_type} here, if relevant.
51
51
// Use cpuid pkg.
52
- vmsaObj , err := vmsa .New (resetEIP , 0 , vmmtypes .EC2 )
52
+ vmsaObj , err := vmsa .New (resetEIP , guestFeatures , 0 , vmmtypes .EC2 )
53
53
if err != nil {
54
54
return nil , fmt .Errorf ("creating VMSA: %w" , err )
55
55
}
0 commit comments