MdePkg: Add AMD SEV features to PcdConfidentialComputingGuestAttr

PcdConfidentialComputingGuestAttr so far only contained an SEV mode bit
but there are more other features which do not translate to levels
such as DebugVirtualization or SecureTsc.

Add the feature mask and the DebugVirtualization feature bit to the PCD.

Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Alexey Kardashevskiy <aik@amd.com>
---
Changes:
v4:
* s/CCAttrFeatureAmdSevDebugSwap/CCAttrFeatureAmdSevEsDebugVirtualization/

v2:
* expanded features mask
* added type mask
This commit is contained in:
Alexey Kardashevskiy 2022-11-22 16:12:55 +11:00 committed by mergify[bot]
parent bc3a1ec2a2
commit 3f28aa2fb0
1 changed files with 13 additions and 2 deletions

View File

@ -29,9 +29,20 @@ typedef enum {
/* The guest is running with Intel TDX memory encryption enabled. */
CCAttrIntelTdx = 0x200,
CCAttrTypeMask = 0x000000000000ffff,
/* Features */
/* The AMD SEV-ES DebugVirtualization feature is enabled in SEV_STATUS */
CCAttrFeatureAmdSevEsDebugVirtualization = 0x0000000000010000,
CCAttrFeatureMask = 0xffffffffffff0000,
} CONFIDENTIAL_COMPUTING_GUEST_ATTR;
#define CC_GUEST_IS_TDX(x) ((x) == CCAttrIntelTdx)
#define CC_GUEST_IS_SEV(x) ((x) == CCAttrAmdSev || (x) == CCAttrAmdSevEs || (x) == CCAttrAmdSevSnp)
#define _CC_GUEST_IS_TDX(x) ((x) == CCAttrIntelTdx)
#define CC_GUEST_IS_TDX(x) _CC_GUEST_IS_TDX((x) & CCAttrTypeMask)
#define _CC_GUEST_IS_SEV(x) ((x) == CCAttrAmdSev || (x) == CCAttrAmdSevEs || (x) == CCAttrAmdSevSnp)
#define CC_GUEST_IS_SEV(x) _CC_GUEST_IS_SEV((x) & CCAttrTypeMask)
#endif