Acked-by: Jiewen Yao <jiewen....@intel.com> > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Roth, > Michael via groups.io > Sent: Thursday, December 22, 2022 12:07 AM > To: devel@edk2.groups.io > Cc: Tom Lendacky <thomas.lenda...@amd.com>; Ni, Ray <ray...@intel.com> > Subject: [edk2-devel] [PATCH 2/4] OvmfPkg/AmdSevDxe: Update > ConfidentialComputing blob struct definition > > The Confidential Computing blob defined here is intended to match the > definition defined by linux guest kernel. Previously, both definitions > relied on natural alignment, but that relies on both OVMF and kernel > being compiled as 64-bit. While there aren't currently any plans to > enable SNP support for 32-bit compilations, the kernel definition has > since been updated to use explicit padding/reserved fields to avoid > this dependency. Update OVMF to match that definition. > > While at it, also fix up the Reserved fields to match the numbering > used in the kernel. > > No functional changes (for currently-supported environments, at least). > > Reviewed-by: Tom Lendacky <thomas.lenda...@amd.com> > Signed-off-by: Michael Roth <michael.r...@amd.com> > --- > OvmfPkg/AmdSevDxe/AmdSevDxe.c | 4 +++- > OvmfPkg/Include/Guid/ConfidentialComputingSevSnpBlob.h | 6 ++++-- > 2 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/OvmfPkg/AmdSevDxe/AmdSevDxe.c > b/OvmfPkg/AmdSevDxe/AmdSevDxe.c > index 8dfda961d7..00bb6e5d96 100644 > --- a/OvmfPkg/AmdSevDxe/AmdSevDxe.c > +++ b/OvmfPkg/AmdSevDxe/AmdSevDxe.c > @@ -41,11 +41,13 @@ AllocateConfidentialComputingBlob ( > > > CcBlob->Header = SIGNATURE_32 ('A', 'M', 'D', 'E'); > > CcBlob->Version = 1; > > - CcBlob->Reserved1 = 0; > > + CcBlob->Reserved = 0; > > CcBlob->SecretsPhysicalAddress = (UINT64)(UINTN)FixedPcdGet32 > (PcdOvmfSnpSecretsBase); > > CcBlob->SecretsSize = FixedPcdGet32 (PcdOvmfSnpSecretsSize); > > + CcBlob->Reserved1 = 0; > > CcBlob->CpuidPhysicalAddress = (UINT64)(UINTN)FixedPcdGet32 > (PcdOvmfCpuidBase); > > CcBlob->CpuidLSize = FixedPcdGet32 (PcdOvmfCpuidSize); > > + CcBlob->Reserved2 = 0; > > > > *CcBlobPtr = CcBlob; > > > > diff --git a/OvmfPkg/Include/Guid/ConfidentialComputingSevSnpBlob.h > b/OvmfPkg/Include/Guid/ConfidentialComputingSevSnpBlob.h > index b328310fd0..83620e31b8 100644 > --- a/OvmfPkg/Include/Guid/ConfidentialComputingSevSnpBlob.h > +++ b/OvmfPkg/Include/Guid/ConfidentialComputingSevSnpBlob.h > @@ -18,14 +18,16 @@ > { 0x85, 0x54, 0x93, 0xd7, 0x77, 0x91, 0x2d, 0x42 }, \ > > } > > > > -typedef struct { > > +typedef PACKED struct { > > UINT32 Header; > > UINT16 Version; > > - UINT16 Reserved1; > > + UINT16 Reserved; > > UINT64 SecretsPhysicalAddress; > > UINT32 SecretsSize; > > + UINT32 Reserved1; > > UINT64 CpuidPhysicalAddress; > > UINT32 CpuidLSize; > > + UINT32 Reserved2; > > } CONFIDENTIAL_COMPUTING_SNP_BLOB_LOCATION; > > > > extern EFI_GUID gConfidentialComputingSevSnpBlobGuid; > > -- > 2.25.1 > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#98085): https://edk2.groups.io/g/devel/message/98085 Mute This Topic: https://groups.io/mt/95815541/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-