This needs to be set so that UefiCpuPkg can locate the SEV-SNP secrets page later to set the AP Jump Table address.
Signed-off-by: Michael Roth <michael.r...@amd.com> --- OvmfPkg/AmdSev/AmdSevX64.dsc | 3 +++ OvmfPkg/CloudHv/CloudHvX64.dsc | 3 +++ OvmfPkg/IntelTdx/IntelTdxX64.dsc | 3 +++ OvmfPkg/Microvm/MicrovmX64.dsc | 3 +++ OvmfPkg/OvmfPkgIa32.dsc | 3 +++ OvmfPkg/OvmfPkgIa32X64.dsc | 3 +++ OvmfPkg/OvmfPkgX64.dsc | 3 +++ OvmfPkg/PlatformPei/AmdSev.c | 5 +++++ OvmfPkg/PlatformPei/PlatformPei.inf | 1 + 9 files changed, 27 insertions(+) diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc index bead9722ea..c0a3548f22 100644 --- a/OvmfPkg/AmdSev/AmdSevX64.dsc +++ b/OvmfPkg/AmdSev/AmdSevX64.dsc @@ -576,6 +576,9 @@ # Set ConfidentialComputing defaults gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0 + # Set SEV-SNP Secrets page address default + gEfiMdePkgTokenSpaceGuid.PcdSevSnpSecretsAddress|0 + !include OvmfPkg/OvmfTpmPcds.dsc.inc gEfiMdePkgTokenSpaceGuid.PcdFSBClock|100000000 diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc index 92664f319b..ba4c14dd02 100644 --- a/OvmfPkg/CloudHv/CloudHvX64.dsc +++ b/OvmfPkg/CloudHv/CloudHvX64.dsc @@ -631,6 +631,9 @@ # Set ConfidentialComputing defaults gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0 + # Set SEV-SNP Secrets page address default + gEfiMdePkgTokenSpaceGuid.PcdSevSnpSecretsAddress|0 + [PcdsDynamicHii] !include OvmfPkg/OvmfTpmPcdsHii.dsc.inc diff --git a/OvmfPkg/IntelTdx/IntelTdxX64.dsc b/OvmfPkg/IntelTdx/IntelTdxX64.dsc index 00bc1255bc..c069bd9d1e 100644 --- a/OvmfPkg/IntelTdx/IntelTdxX64.dsc +++ b/OvmfPkg/IntelTdx/IntelTdxX64.dsc @@ -513,6 +513,9 @@ gEfiMdePkgTokenSpaceGuid.PcdFSBClock|100000000 + # Set SEV-SNP Secrets page address default + gEfiMdePkgTokenSpaceGuid.PcdSevSnpSecretsAddress|0 + ################################################################################ # # Components Section - list of all EDK II Modules needed by this Platform. diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc b/OvmfPkg/Microvm/MicrovmX64.dsc index f8fc977cb2..774e5e2ca9 100644 --- a/OvmfPkg/Microvm/MicrovmX64.dsc +++ b/OvmfPkg/Microvm/MicrovmX64.dsc @@ -614,6 +614,9 @@ # Set ConfidentialComputing defaults gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0 + # Set SEV-SNP Secrets page address default + gEfiMdePkgTokenSpaceGuid.PcdSevSnpSecretsAddress|0 + ################################################################################ # # Components Section - list of all EDK II Modules needed by this Platform. diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc index c16a840fff..a531fcd070 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc @@ -650,6 +650,9 @@ # Set ConfidentialComputing defaults gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0 + # Set SEV-SNP Secrets page address default + gEfiMdePkgTokenSpaceGuid.PcdSevSnpSecretsAddress|0 + !if $(CSM_ENABLE) == FALSE gEfiMdePkgTokenSpaceGuid.PcdFSBClock|100000000 !endif diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc index d3a80cb568..cd579246f8 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc @@ -658,6 +658,9 @@ # Set ConfidentialComputing defaults gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0 + # Set SEV-SNP Secrets page address default + gEfiMdePkgTokenSpaceGuid.PcdSevSnpSecretsAddress|0 + !if $(CSM_ENABLE) == FALSE gEfiMdePkgTokenSpaceGuid.PcdFSBClock|100000000 !endif diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc index 7b3d48aac4..a026706279 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc @@ -683,6 +683,9 @@ # Set ConfidentialComputing defaults gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0 + # Set SEV-SNP Secrets page address default + gEfiMdePkgTokenSpaceGuid.PcdSevSnpSecretsAddress|0 + !if $(CSM_ENABLE) == FALSE gEfiMdePkgTokenSpaceGuid.PcdFSBClock|100000000 !endif diff --git a/OvmfPkg/PlatformPei/AmdSev.c b/OvmfPkg/PlatformPei/AmdSev.c index 385562b44c..70352ca43b 100644 --- a/OvmfPkg/PlatformPei/AmdSev.c +++ b/OvmfPkg/PlatformPei/AmdSev.c @@ -408,6 +408,11 @@ AmdSevInitialize ( // if (MemEncryptSevSnpIsEnabled ()) { PcdStatus = PcdSet64S (PcdConfidentialComputingGuestAttr, CCAttrAmdSevSnp); + ASSERT_RETURN_ERROR (PcdStatus); + PcdStatus = PcdSet64S ( + PcdSevSnpSecretsAddress, + (UINT64)(UINTN)PcdGet32 (PcdOvmfSnpSecretsBase) + ); } else if (MemEncryptSevEsIsEnabled ()) { PcdStatus = PcdSet64S (PcdConfidentialComputingGuestAttr, CCAttrAmdSevEs); } else { diff --git a/OvmfPkg/PlatformPei/PlatformPei.inf b/OvmfPkg/PlatformPei/PlatformPei.inf index 00372fa0eb..c688e4ee24 100644 --- a/OvmfPkg/PlatformPei/PlatformPei.inf +++ b/OvmfPkg/PlatformPei/PlatformPei.inf @@ -114,6 +114,7 @@ gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr gUefiCpuPkgTokenSpaceGuid.PcdGhcbHypervisorFeatures gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask + gEfiMdePkgTokenSpaceGuid.PcdSevSnpSecretsAddress [FixedPcd] gUefiOvmfPkgTokenSpaceGuid.PcdOvmfCpuidBase -- 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#89948): https://edk2.groups.io/g/devel/message/89948 Mute This Topic: https://groups.io/mt/91279453/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-