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: Wednesday, December 21, 2022 11:51 PM
> To: devel@edk2.groups.io
> Cc: Tom Lendacky <thomas.lenda...@amd.com>; Ni, Ray <ray...@intel.com>
> Subject: [edk2-devel] [PATCH v4 3/4] OvmfPkg: Initialize the
> PcdSevSnpSecretsAddress PCD during PEI phase
> 
> This needs to be set so that UefiCpuPkg can locate the SEV-SNP secrets
> page later to set the AP Jump Table address.
> 
> Reviewed-by: Tom Lendacky <thomas.lenda...@amd.com>
> 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 bb91e8c734..6c3b78d424 100644
> --- a/OvmfPkg/AmdSev/AmdSevX64.dsc
> +++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
> @@ -528,6 +528,9 @@
>    # Set ConfidentialComputing defaults
> 
>    gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0
> 
> 
> 
> +  # Set SEV-SNP Secrets page address default
> 
> +  gEfiMdePkgTokenSpaceGuid.PcdSevSnpSecretsAddress|0
> 
> +
> 
>  !include OvmfPkg/Include/Dsc/OvmfTpmPcds.dsc.inc
> 
> 
> 
>    gEfiMdePkgTokenSpaceGuid.PcdFSBClock|1000000000
> 
> diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc
> b/OvmfPkg/CloudHv/CloudHvX64.dsc
> index 4d7107fd19..2cc73981b2 100644
> --- a/OvmfPkg/CloudHv/CloudHvX64.dsc
> +++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
> @@ -640,6 +640,9 @@
>    # Set ConfidentialComputing defaults
> 
>    gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0
> 
> 
> 
> +  # Set SEV-SNP Secrets page address default
> 
> +  gEfiMdePkgTokenSpaceGuid.PcdSevSnpSecretsAddress|0
> 
> +
> 
>  [PcdsDynamicHii]
> 
>  !include OvmfPkg/Include/Dsc/OvmfTpmPcdsHii.dsc.inc
> 
> 
> 
> diff --git a/OvmfPkg/IntelTdx/IntelTdxX64.dsc
> b/OvmfPkg/IntelTdx/IntelTdxX64.dsc
> index ea538fd783..b264eb9fc3 100644
> --- a/OvmfPkg/IntelTdx/IntelTdxX64.dsc
> +++ b/OvmfPkg/IntelTdx/IntelTdxX64.dsc
> @@ -527,6 +527,9 @@
> 
> 
>    gEfiMdePkgTokenSpaceGuid.PcdFSBClock|1000000000
> 
> 
> 
> +  # 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 285ba50671..b2eaa11a85 100644
> --- a/OvmfPkg/Microvm/MicrovmX64.dsc
> +++ b/OvmfPkg/Microvm/MicrovmX64.dsc
> @@ -644,6 +644,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 dcf46d207d..2e04a3f8b1 100644
> --- a/OvmfPkg/OvmfPkgIa32.dsc
> +++ b/OvmfPkg/OvmfPkgIa32.dsc
> @@ -666,6 +666,9 @@
>    # Set ConfidentialComputing defaults
> 
>    gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0
> 
> 
> 
> +  # Set SEV-SNP Secrets page address default
> 
> +  gEfiMdePkgTokenSpaceGuid.PcdSevSnpSecretsAddress|0
> 
> +
> 
>  !if $(CSM_ENABLE) == FALSE
> 
>    gEfiMdePkgTokenSpaceGuid.PcdFSBClock|1000000000
> 
>  !endif
> 
> diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
> index d0746cb72b..4ebf2aff34 100644
> --- a/OvmfPkg/OvmfPkgIa32X64.dsc
> +++ b/OvmfPkg/OvmfPkgIa32X64.dsc
> @@ -675,6 +675,9 @@
>    # Set ConfidentialComputing defaults
> 
>    gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0
> 
> 
> 
> +  # Set SEV-SNP Secrets page address default
> 
> +  gEfiMdePkgTokenSpaceGuid.PcdSevSnpSecretsAddress|0
> 
> +
> 
>  !if $(CSM_ENABLE) == FALSE
> 
>    gEfiMdePkgTokenSpaceGuid.PcdFSBClock|1000000000
> 
>  !endif
> 
> diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
> index 2caa4d2ecc..6f8f368977 100644
> --- a/OvmfPkg/OvmfPkgX64.dsc
> +++ b/OvmfPkg/OvmfPkgX64.dsc
> @@ -703,6 +703,9 @@
>    # Set ConfidentialComputing defaults
> 
>    gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0
> 
> 
> 
> +  # Set SEV-SNP Secrets page address default
> 
> +  gEfiMdePkgTokenSpaceGuid.PcdSevSnpSecretsAddress|0
> 
> +
> 
>  !if $(CSM_ENABLE) == FALSE
> 
>    gEfiMdePkgTokenSpaceGuid.PcdFSBClock|1000000000
> 
>  !endif
> 
> diff --git a/OvmfPkg/PlatformPei/AmdSev.c
> b/OvmfPkg/PlatformPei/AmdSev.c
> index e4e7b72e67..fa88c9ebd8 100644
> --- a/OvmfPkg/PlatformPei/AmdSev.c
> +++ b/OvmfPkg/PlatformPei/AmdSev.c
> @@ -422,6 +422,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 1fadadeb55..851af81248 100644
> --- a/OvmfPkg/PlatformPei/PlatformPei.inf
> +++ b/OvmfPkg/PlatformPei/PlatformPei.inf
> @@ -115,6 +115,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 (#98089): https://edk2.groups.io/g/devel/message/98089
Mute This Topic: https://groups.io/mt/95815537/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to