Add TPM2 definition in trusted computing group.

1) TCG Physical Presence Interface Specification 1.30 at http://www.trustedcomputinggroup.org/resources/tcg_physical_presence_interface_specification
2) TCG EFI Protocol Specification for TPM 2.0 at http://www.trustedcomputinggroup.org/resources/tcg_efi_protocol_specification
3) Update TPM2.0 header file to include Hash Algo definition.
4) Update UEFI TCG platform header file to include more TCG event structure.

Test Win8/Win10 with secure boot enabled, PCR7 shows bound.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: "Yao, Jiewen" <Jiewen.Yao@intel.com>
Reviewed-by: "Zhang, Chao B" <chao.b.zhang@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18218 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Yao, Jiewen
2015-08-13 08:22:05 +00:00
committed by jyao1
parent 26ecc55c02
commit 59b226d6d7
6 changed files with 594 additions and 19 deletions

View File

@ -1,7 +1,7 @@
/** @file
Ihis protocol is defined to abstract TPM2 hardware access in boot phase.
Copyright (c) 2013, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2013 - 2015, 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
@ -93,22 +93,6 @@ typedef TREE_BOOT_SERVICE_CAPABILITY_1_0 TREE_BOOT_SERVICE_CAPABILITY;
//
#define PE_COFF_IMAGE 0x0000000000000010
//#define EV_EFI_VARIABLE_DRIVER_CONFIG 0x80000001 // Defined in TCG
//#define EV_EFI_ACTION 0x80000007 // Defined in TCG
#define EV_EFI_VARIABLE_AUTHORITY 0x800000E0
#define FIRMWARE_DEBUGGER_EVENT_STRING "UEFI Debug Mode"
#pragma pack(1)
typedef struct {
EFI_GUID VariableName;
UINT64 UnicodeNameLength; // The TCG Definition used UINTN
UINT64 VariableDataLength; // The TCG Definition used UINTN
CHAR16 UnicodeName[1];
INT8 VariableData[1];
} EFI_VARIABLE_DATA_TREE;
#pragma pack()
typedef UINT32 TrEE_PCRINDEX;
typedef UINT32 TrEE_EVENTTYPE;