SecurityPkg Tcg2ConfigDxe: Add setup option to configure PPI version
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=288 gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer was introduced to configure physical presence interface version. but test or user needs to build different images to support different versions separately as the PCD does not support Dynamic types. This patch is to extend the PCD to support Dynamic types and add a setup option in Tcg2ConfigDxe driver to configure the physical presence interface version, the PCD needs to be DynamicHii type and maps to the setup option. Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Chao Zhang <chao.b.zhang@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Header file for NV data structure definition.
|
||||
|
||||
Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -30,6 +30,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
#define TCG2_CONFIGURATION_VARSTORE_ID 0x0001
|
||||
#define TCG2_CONFIGURATION_INFO_VARSTORE_ID 0x0002
|
||||
#define TCG2_VERSION_VARSTORE_ID 0x0003
|
||||
#define TCG2_CONFIGURATION_FORM_ID 0x0001
|
||||
|
||||
#define KEY_TPM_DEVICE 0x2000
|
||||
@@ -41,6 +42,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#define KEY_TPM2_PCR_BANKS_REQUEST_3 0x2006
|
||||
#define KEY_TPM2_PCR_BANKS_REQUEST_4 0x2007
|
||||
#define KEY_TPM_DEVICE_INTERFACE 0x2008
|
||||
#define KEY_TCG2_PPI_VERSION 0x2009
|
||||
|
||||
#define TPM_DEVICE_NULL 0
|
||||
#define TPM_DEVICE_1_2 1
|
||||
@@ -58,6 +60,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#define TCG2_PROTOCOL_VERSION_DEFAULT 0x0001
|
||||
#define EFI_TCG2_EVENT_LOG_FORMAT_DEFAULT EFI_TCG2_EVENT_LOG_FORMAT_TCG_1_2
|
||||
|
||||
#define TCG2_PPI_VERSION_1_2 0x322E31 // "1.2"
|
||||
#define TCG2_PPI_VERSION_1_3 0x332E31 // "1.3"
|
||||
|
||||
//
|
||||
// Nv Data structure referenced by IFR, TPM device user desired
|
||||
//
|
||||
@@ -65,6 +70,10 @@ typedef struct {
|
||||
UINT8 TpmDevice;
|
||||
} TCG2_CONFIGURATION;
|
||||
|
||||
typedef struct {
|
||||
UINT64 PpiVersion;
|
||||
} TCG2_VERSION;
|
||||
|
||||
typedef struct {
|
||||
BOOLEAN Sha1Supported;
|
||||
BOOLEAN Sha256Supported;
|
||||
@@ -87,6 +96,7 @@ typedef struct {
|
||||
#define TCG2_STORAGE_NAME L"TCG2_CONFIGURATION"
|
||||
#define TCG2_STORAGE_INFO_NAME L"TCG2_CONFIGURATION_INFO"
|
||||
#define TCG2_DEVICE_DETECTION_NAME L"TCG2_DEVICE_DETECTION"
|
||||
#define TCG2_VERSION_NAME L"TCG2_VERSION"
|
||||
|
||||
#define TPM_INSTANCE_ID_LIST { \
|
||||
{TPM_DEVICE_INTERFACE_NONE, TPM_DEVICE_NULL}, \
|
||||
|
Reference in New Issue
Block a user