From 0c0f3174452123d3b1a15f2987430b5a586604ff Mon Sep 17 00:00:00 2001 From: lgao4 Date: Wed, 2 Jan 2008 06:48:16 +0000 Subject: Add TCG/TPM internal PPI and Protocol git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4463 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Include/Ppi/OperatorPresence.h | 36 ++++++++++++++++++ MdeModulePkg/Include/Protocol/TcgPlatform.h | 57 +++++++++++++++++++++++++++++ MdeModulePkg/MdeModulePkg.dec | 3 ++ 3 files changed, 96 insertions(+) create mode 100644 MdeModulePkg/Include/Ppi/OperatorPresence.h create mode 100644 MdeModulePkg/Include/Protocol/TcgPlatform.h diff --git a/MdeModulePkg/Include/Ppi/OperatorPresence.h b/MdeModulePkg/Include/Ppi/OperatorPresence.h new file mode 100644 index 0000000..7e42ed4 --- /dev/null +++ b/MdeModulePkg/Include/Ppi/OperatorPresence.h @@ -0,0 +1,36 @@ +/*++ + +Copyright (c) 2006, Intel Corporation +All rights reserved. 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 +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +Module Name: + + OperatorPresence.h + +Abstract: + + PPI published by the PEIM who's responsible for detecting operator presence + +--*/ + +#ifndef _PEI_OPERATOR_PRESENCE_H_ +#define _PEI_OPERATOR_PRESENCE_H_ + +#define PEI_OPERATOR_PRESENCE_PPI_GUID \ + { 0x20a7378c, 0xaa83, 0x4ce1, {0x82, 0x1f, 0x47, 0x40, 0xee, 0x1b, 0x3f, 0x9f } } + +typedef struct _PEI_OPERATOR_PRESENCE_PPI PEI_OPERATOR_PRESENCE_PPI; + +struct _PEI_OPERATOR_PRESENCE_PPI { + BOOLEAN OperatorPresent; +}; + +extern EFI_GUID gPeiOperatorPresencePpiGuid; + +#endif // _PEI_OPERATOR_PRESENCE_H_ diff --git a/MdeModulePkg/Include/Protocol/TcgPlatform.h b/MdeModulePkg/Include/Protocol/TcgPlatform.h new file mode 100644 index 0000000..20f8075 --- /dev/null +++ b/MdeModulePkg/Include/Protocol/TcgPlatform.h @@ -0,0 +1,57 @@ +/*++ + +Copyright (c) 2006, Intel Corporation +All rights reserved. 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 +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +Module Name: + + TcgPlatform.h + +Abstract: + Tcg addtional services to measure PeImage and ActionString + +--*/ + +#ifndef _TCG_PLATFORM_PROTOCOL_H_ +#define _TCG_PLATFORM_PROTOCOL_H_ + +#define EFI_TCG_PLATFORM_PROTOCOL_GUID \ + { 0x8c4c9a41, 0xbf56, 0x4627, { 0x9e, 0xa, 0xc8, 0x38, 0x6d, 0x66, 0x11, 0x5c } } + +typedef struct tdEFI_TCG_PLATFORM_PROTOCOL EFI_TCG_PLATFORM_PROTOCOL; + +// +// EFI TCG Platform Protocol +// +typedef +EFI_STATUS +(EFIAPI *EFI_TCG_MEASURE_PE_IMAGE) ( + IN BOOLEAN BootPolicy, + IN EFI_PHYSICAL_ADDRESS ImageAddress, + IN UINTN ImageSize, + IN UINTN LinkTimeBase, + IN UINT16 ImageType, + IN EFI_HANDLE DeviceHandle, + IN EFI_DEVICE_PATH_PROTOCOL *FilePath + ); + +typedef +EFI_STATUS +(EFIAPI *EFI_TCG_MEASURE_ACTION) ( + IN CHAR8 *ActionString + ); + +struct tdEFI_TCG_PLATFORM_PROTOCOL { + EFI_TCG_MEASURE_PE_IMAGE MeasurePeImage; + EFI_TCG_MEASURE_ACTION MeasureAction; +}; + +extern EFI_GUID gEfiTcgPlatformProtocolGuid; + +#endif diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 7b27660..dadf7a6 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -90,12 +90,15 @@ gEfiPxeDhcp4CallbackProtocolGuid = {0xc1544c01, 0x92a4, 0x4198, {0x8a, 0x84, 0x77, 0x85, 0x83, 0xc2, 0x36, 0x21 }} gEfiPxeDhcp4ProtocolGuid = {0x03c4e624, 0xac28, 0x11d3, { 0x9a, 0x2d, 0x00, 0x90, 0x29, 0x3f, 0xc1, 0x4d }} gEfiDpcProtocolGuid = {0x480f8ae9, 0xc46, 0x4aa9, { 0xbc, 0x89, 0xdb, 0x9f, 0xba, 0x61, 0x98, 0x6 }} + gEfiTcgPlatformProtocolGuid = { 0x8c4c9a41, 0xbf56, 0x4627, { 0x9e, 0xa, 0xc8, 0x38, 0x6d, 0x66, 0x11, 0x5c }} [Ppis.common] gPeiBaseMemoryTestPpiGuid = { 0xB6EC423C, 0x21D2, 0x490D, { 0x85, 0xC6, 0xDD, 0x58, 0x64, 0xEA, 0xA6, 0x74 }} ##gPeiFlashMapPpiGuid will be removed in future gPeiFlashMapPpiGuid = { 0xf34c2fa0, 0xde88, 0x4270, {0x84, 0x14, 0x96, 0x12, 0x22, 0xf4, 0x52, 0x1c } } + + gPeiOperatorPresencePpiGuid = { 0x20a7378c, 0xaa83, 0x4ce1, {0x82, 0x1f, 0x47, 0x40, 0xee, 0x1b, 0x3f, 0x9f } } [PcdsFeatureFlag.common] gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleRest|FALSE|BOOLEAN|0x0001001d -- cgit v1.1