Reviewed-by : Chao Zhang <chao.b.zhang@intel.com>
Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
> -----Original Message-----
> From: Gao, Liming
> Sent: Thursday, September 12, 2019 2:07 PM
> To: devel@edk2.groups.io
> Cc: Wang, Jian J <jian.j.wang@intel.com>; Zhang, Chao B
> <chao.b.zhang@intel.com>
> Subject: [Patch v2] SecurityPkg Tcg2Config: Move common definitions to new
> Tcg2Internal.h
>
> Common definitions are not consumed by VFR. They are not required to be
> defined in Tcg2ConfigNvData.h with WA way. New shared internal header
> file is added to include those common definitions.
>
> Cc: Jian Wang <jian.j.wang@intel.com>
> Cc: Chao Zhang <chao.b.zhang@intel.com>
> Signed-off-by: Liming Gao <liming.gao@intel.com>
> ---
> In V2:
> Keep struct TCG2_DEVICE_DETECTION in Tcg2ConfigNvData.h.
> Only remove BUGBUG definition.
>
> SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPeim.c | 1 +
> SecurityPkg/Tcg/Tcg2Config/TpmDetection.c | 1 +
> SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf | 1 +
> SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigImpl.h | 3 +++
> SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigNvData.h | 35 ---------------------------
> SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf | 1 +
> SecurityPkg/Tcg/Tcg2Config/Tcg2Internal.h | 26 ++++++++++++++++++++
> 7 files changed, 33 insertions(+), 35 deletions(-)
> create mode 100644 SecurityPkg/Tcg/Tcg2Config/Tcg2Internal.h
>
> diff --git a/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPeim.c
> b/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPeim.c
> index a50a128766..a15919685e 100644
> --- a/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPeim.c
> +++ b/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPeim.c
> @@ -23,6 +23,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> #include <Protocol/Tcg2Protocol.h>
>
> #include "Tcg2ConfigNvData.h"
> +#include "Tcg2Internal.h"
>
> TPM_INSTANCE_ID mTpmInstanceId[] = TPM_INSTANCE_ID_LIST;
>
> diff --git a/SecurityPkg/Tcg/Tcg2Config/TpmDetection.c
> b/SecurityPkg/Tcg/Tcg2Config/TpmDetection.c
> index 2f220c6c90..eeaadc5e2f 100644
> --- a/SecurityPkg/Tcg/Tcg2Config/TpmDetection.c
> +++ b/SecurityPkg/Tcg/Tcg2Config/TpmDetection.c
> @@ -20,6 +20,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> #include <IndustryStandard/Tpm12.h>
>
> #include "Tcg2ConfigNvData.h"
> +#include "Tcg2Internal.h"
>
> /**
> This routine check both SetupVariable and real TPM device, and return final
> TpmDevice configuration.
> diff --git a/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
> b/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
> index 866e47d23e..6417ab82a1 100644
> --- a/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
> +++ b/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
> @@ -30,6 +30,7 @@
> Tcg2Config.vfr
> Tcg2ConfigStrings.uni
> Tcg2ConfigNvData.h
> + Tcg2Internal.h
>
> [Packages]
> MdePkg/MdePkg.dec
> diff --git a/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigImpl.h
> b/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigImpl.h
> index 4b0e18dfbb..af542d52ef 100644
> --- a/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigImpl.h
> +++ b/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigImpl.h
> @@ -36,6 +36,9 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> #include <Guid/MdeModuleHii.h>
>
> #include "Tcg2ConfigNvData.h"
> +#include "Tcg2Internal.h"
> +
> +#define TCG2_PROTOCOL_VERSION_DEFAULT 0x0001
>
> //
> // Tool generated IFR binary data and String package data
> diff --git a/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigNvData.h
> b/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigNvData.h
> index d0a124684f..a91c052850 100644
> --- a/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigNvData.h
> +++ b/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigNvData.h
> @@ -13,15 +13,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> #include <Guid/Tcg2ConfigHii.h>
> #include <IndustryStandard/TcgPhysicalPresence.h>
>
> -//
> -// BUGBUG: In order to pass VfrCompiler, we have to redefine below MACRO,
> which already in <Protocol/Tcg2Protocol.h>.
> -//
> -#ifndef __TCG2_H__
> -#define EFI_TCG2_EVENT_LOG_FORMAT_TCG_1_2 0x00000001
> -#define EFI_TCG2_EVENT_LOG_FORMAT_TCG_2 0x00000002
> -#endif
> -#define EFI_TCG2_EVENT_LOG_FORMAT_ALL
> (EFI_TCG2_EVENT_LOG_FORMAT_TCG_1_2 |
> EFI_TCG2_EVENT_LOG_FORMAT_TCG_2)
> -
> #define TCG2_CONFIGURATION_VARSTORE_ID 0x0001
> #define TCG2_CONFIGURATION_INFO_VARSTORE_ID 0x0002
> #define TCG2_VERSION_VARSTORE_ID 0x0003
> @@ -55,9 +46,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> #define TPM_DEVICE_INTERFACE_MAX TPM_DEVICE_INTERFACE_PTP_FIFO
> #define TPM_DEVICE_INTERFACE_DEFAULT
> TPM_DEVICE_INTERFACE_PTP_CRB
>
> -#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"
>
> @@ -97,27 +85,4 @@ typedef struct {
> #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}, \
> - {TPM_DEVICE_INTERFACE_TPM12, TPM_DEVICE_1_2}, \
> - {TPM_DEVICE_INTERFACE_TPM20_DTPM, TPM_DEVICE_2_0_DTPM}, \
> -}
> -
> -//
> -// BUGBUG: In order to pass VfrCompiler, we have to redefine GUID here.
> -//
> -#ifndef __BASE_H__
> -typedef struct {
> - UINT32 Data1;
> - UINT16 Data2;
> - UINT16 Data3;
> - UINT8 Data4[8];
> -} GUID;
> -#endif
> -
> -typedef struct {
> - GUID TpmInstanceGuid;
> - UINT8 TpmDevice;
> -} TPM_INSTANCE_ID;
> -
> #endif
> diff --git a/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
> b/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
> index 837cbd12f0..f2aa3234ad 100644
> --- a/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
> +++ b/SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
> @@ -28,6 +28,7 @@
> [Sources]
> Tcg2ConfigPeim.c
> Tcg2ConfigNvData.h
> + Tcg2Internal.h
> TpmDetection.c
>
> [Packages]
> diff --git a/SecurityPkg/Tcg/Tcg2Config/Tcg2Internal.h
> b/SecurityPkg/Tcg/Tcg2Config/Tcg2Internal.h
> new file mode 100644
> index 0000000000..6ed1015ef2
> --- /dev/null
> +++ b/SecurityPkg/Tcg/Tcg2Config/Tcg2Internal.h
> @@ -0,0 +1,26 @@
> +/** @file
> + The internal header file defines the common structures for PEI and DXE
> modules.
> +
> +Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
> +SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#ifndef __TCG2_INTERNAL_H__
> +#define __TCG2_INTERNAL_H__
> +
> +#define EFI_TCG2_EVENT_LOG_FORMAT_DEFAULT
> EFI_TCG2_EVENT_LOG_FORMAT_TCG_1_2
> +#define EFI_TCG2_EVENT_LOG_FORMAT_ALL
> (EFI_TCG2_EVENT_LOG_FORMAT_TCG_1_2 |
> EFI_TCG2_EVENT_LOG_FORMAT_TCG_2)
> +
> +#define TPM_INSTANCE_ID_LIST { \
> + {TPM_DEVICE_INTERFACE_NONE, TPM_DEVICE_NULL}, \
> + {TPM_DEVICE_INTERFACE_TPM12, TPM_DEVICE_1_2}, \
> + {TPM_DEVICE_INTERFACE_TPM20_DTPM, TPM_DEVICE_2_0_DTPM}, \
> +}
> +
> +typedef struct {
> + GUID TpmInstanceGuid;
> + UINT8 TpmDevice;
> +} TPM_INSTANCE_ID;
> +
> +#endif
> --
> 2.13.0.windows.1