From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 4A05C780091 for ; Thu, 14 Dec 2023 23:39:37 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=y2L+eZn5xp6B+SAx3B5PWq0AUbeFAj0ctDgEvsjeq78=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20140610; t=1702597175; v=1; b=TfOvnhtDzGNeGv+8bXDM5Ymx6yDPAUvEvSYAvsDDlN9AEisew26kHZn+u3qSUlpIEHNfjwZh orOsTTefqYr5gqnIXvfX4OX/dBCgYbaqfjRuGZVOmSx4ZhDBP/fD/XDMDNM5cmExZ9eeG6w5lYw Ix8M09nwFpFm0NSrvf0J+l9E= X-Received: by 127.0.0.2 with SMTP id 8wSOYY7687511xVL8YpkbX4L; Thu, 14 Dec 2023 15:39:35 -0800 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.45265.1702597172817801925 for ; Thu, 14 Dec 2023 15:39:33 -0800 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B2AF511FB; Thu, 14 Dec 2023 15:40:17 -0800 (PST) X-Received: from beelzebub.ast.arm.com (unknown [10.118.29.240]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 3D0273F8A4; Thu, 14 Dec 2023 15:39:32 -0800 (PST) From: "Stuart Yoder" To: devel@edk2.groups.io, Edhaya.Chandran@arm.com, gaojie@byosoft.com.cn Cc: ilias.apalodimas@linaro.org, heinrich.schuchardt@canonical.com, Samer.El-Haj-Mahmoud@arm.com, Jiewen.Yao@intel.com Subject: [edk2-devel] [PATCH v1 1/6] uefi-sct/SctPkg: TCG2 Protocol: add header with TCG2 protocol definitions Date: Thu, 14 Dec 2023 17:39:16 -0600 Message-Id: <20231214233921.169624-2-stuart.yoder@arm.com> In-Reply-To: <20231214233921.169624-1-stuart.yoder@arm.com> References: <20231214233921.169624-1-stuart.yoder@arm.com> MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,stuart.yoder@arm.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: tktEoMgDiE9d4dHmT0IXAjDmx7686176AA= Content-Transfer-Encoding: quoted-printable X-Spam-Flag: yes X-Spam-Level: ************ X-GND-Spam-Score: 190 X-GND-Status: SPAM Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=TfOvnhtD; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=arm.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io From: Joseph Hemann Signed-off-by: Joseph Hemann Signed-off-by: Stuart Yoder --- uefi-sct/SctPkg/UEFI/Protocol/TCG2.h | 179 ++++++++++++++++++++ 1 file changed, 179 insertions(+) diff --git a/uefi-sct/SctPkg/UEFI/Protocol/TCG2.h b/uefi-sct/SctPkg/UEFI/Pr= otocol/TCG2.h new file mode 100644 index 000000000000..659c61a741e7 --- /dev/null +++ b/uefi-sct/SctPkg/UEFI/Protocol/TCG2.h @@ -0,0 +1,179 @@ +/** @file=0D +=0D + Copyright 2006 - 2016 Unified EFI, Inc.
=0D + Copyright (c) 2013 - 2016, Intel Corporation. All rights reserved.
=0D + Copyright (c) 2021 - 2023, Arm Inc. All rights reserved.
=0D +=0D + This program and the accompanying materials=0D + are licensed and made available under the terms and conditions of the BS= D License=0D + which accompanies this distribution. The full text of the license may b= e found at=0D + http://opensource.org/licenses/bsd-license.php=0D +=0D + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,=0D + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMP= LIED.=0D +=0D +**/=0D +/*++=0D +=0D +Module Name:=0D +=0D + TCG2.h=0D +=0D +Abstract:=0D +=0D + EFI TCG Protocol=0D +=0D +--*/=0D +=0D +=0D +#ifndef __TCG2_PROTOCOL_H__=0D +#define __TCG2_PROTOCOL_H__=0D +=0D +//=0D +// Global ID for the TCG2 Protocol=0D +//=0D +#define EFI_TCG2_PROTOCOL_GUID \=0D + {0x607f766c, 0x7455, 0x42be, {0x93, 0x0b, 0xe4, 0xd7, 0x6d, 0xb2, 0x72,= 0x0f}}=0D +=0D +// Following defintions come from TCG2 Efi Protocol Spec=0D +#define EFI_TCG2_BOOT_HASH_ALG_SHA1 0x00000001=0D +=0D +#define EFI_TCG2_BOOT_HASH_ALG_SHA256 0x00000002=0D +=0D +#define EFI_TCG2_BOOT_HASH_ALG_SHA384 0x00000004=0D +=0D +#define EFI_TCG2_BOOT_HASH_ALG_SHA512 0x00000008=0D +=0D +#define EFI_TCG2_BOOT_HASH_ALG_SM3_256 0x00000010=0D +=0D +#define EFI_TCG2_EVENT_LOG_FORMAT_TCG_1_2 0x00000001=0D +=0D +#define EFI_TCG2_EVENT_LOG_FORMAT_TCG_2 0x00000002=0D +=0D +typedef struct _EFI_TCG2_PROTOCOL EFI_TCG2_PROTOCOL;=0D +=0D +typedef UINT64 EFI_PHYSICAL_ADDRESS;=0D +=0D +typedef UINT32 EFI_TCG2_EVENT_LOG_BITMAP;=0D +=0D +typedef UINT32 EFI_TCG2_EVENT_LOG_FORMAT;=0D +=0D +typedef UINT32 EFI_TCG2_EVENT_ALGORITHM_BITMAP;=0D +=0D +typedef UINT32 TCG_PCRINDEX;=0D +=0D +typedef UINT32 TCG_EVENTTYPE;=0D +=0D +// Following struct defintions come from TCG2 Efi Protocol Spec=0D +typedef struct {=0D + UINT8 Major;=0D + UINT8 Minor;=0D +} EFI_TCG2_VERSION;=0D +=0D +typedef struct {=0D + UINT8 Size;=0D + EFI_TCG2_VERSION StructureVersion;=0D + EFI_TCG2_VERSION ProtocolVersion;=0D + EFI_TCG2_EVENT_ALGORITHM_BITMAP HashAlgorithmBitmap;=0D + EFI_TCG2_EVENT_LOG_BITMAP SupportedEventLogs;=0D + BOOLEAN TPMPresentFlag;=0D + UINT16 MaxCommandSize;=0D + UINT16 MaxResponseSize;=0D + UINT32 ManufacturerID;=0D + UINT32 NumberOfPcrBanks;=0D + EFI_TCG2_EVENT_ALGORITHM_BITMAP ActivePcrBanks;=0D +} EFI_TCG2_BOOT_SERVICE_CAPABILITY;=0D +=0D +typedef=0D +EFI_STATUS=0D +(EFIAPI *EFI_TCG2_GET_CAPABILITY) (=0D + IN EFI_TCG2_PROTOCOL *This,=0D + IN OUT EFI_TCG2_BOOT_SERVICE_CAPABILITY *ProtocolCapability=0D +);=0D +=0D +typedef=0D +EFI_STATUS=0D +(EFIAPI *EFI_TCG2_GET_EVENT_LOG) (=0D + IN EFI_TCG2_PROTOCOL *This,=0D + IN EFI_TCG2_EVENT_LOG_FORMAT EventLogFormat,=0D + OUT EFI_PHYSICAL_ADDRESS *EventLogLocation,=0D + OUT EFI_PHYSICAL_ADDRESS *EventLogLastEntry,=0D + OUT BOOLEAN *EventLogTruncated=0D +);=0D +=0D +// all structs except EFI_TCG2_BOOT_SERVICE_CAPABILITY are packed=0D +#pragma pack(1)=0D +=0D +typedef struct tdEFI_TCG2_EVENT_HEADER {=0D + UINT32 HeaderSize;=0D + UINT16 HeaderVersion;=0D + TCG_PCRINDEX PCRIndex;=0D + TCG_EVENTTYPE EventType;=0D +} EFI_TCG2_EVENT_HEADER;=0D +=0D +typedef struct tdEFI_TCG2_EVENT {=0D + UINT32 Size;=0D + EFI_TCG2_EVENT_HEADER Header;=0D + UINT8 Event[];=0D +} EFI_TCG2_EVENT;=0D +=0D +#pragma pack()=0D +=0D +typedef=0D +EFI_STATUS=0D +(EFIAPI * EFI_TCG2_HASH_LOG_EXTEND_EVENT) (=0D + IN EFI_TCG2_PROTOCOL *This,=0D + IN UINT64 Flags,=0D + IN EFI_PHYSICAL_ADDRESS DataToHash,=0D + IN UINT64 DataToHashLen,=0D + IN EFI_TCG2_EVENT *EfiTcgEvent=0D +);=0D +=0D +typedef=0D +EFI_STATUS=0D +(EFIAPI *EFI_TCG2_SUBMIT_COMMAND) (=0D + IN EFI_TCG2_PROTOCOL *This,=0D + IN UINT32 InputParameterBlockSize,=0D + IN UINT8 *InputParameterBlock,=0D + IN UINT32 OutputParameterBlockSize,=0D + IN UINT8 *OutputParameterBlock=0D +);=0D +=0D +typedef=0D +EFI_STATUS=0D +(EFIAPI *EFI_TCG2_GET_ACTIVE_PCR_BANKS) (=0D + IN EFI_TCG2_PROTOCOL *This,=0D + OUT UINT32 *ActivePcrBanks=0D +);=0D +=0D +typedef=0D +EFI_STATUS=0D +(EFIAPI *EFI_TCG2_SET_ACTIVE_PCR_BANKS) (=0D + IN EFI_TCG2_PROTOCOL *This,=0D + IN UINT32 ActivePcrBanks=0D +);=0D +=0D +typedef=0D +EFI_STATUS=0D +(EFIAPI * EFI_TCG2_GET_RESULT_OF_SET_ACTIVE_PCR_BANKS) (=0D + IN EFI_TCG2_PROTOCOL *This,=0D + OUT UINT32 *OperationPresent,=0D + OUT UINT32 *Response=0D +);=0D +=0D +//=0D +// Interface structure for the TCG2 Protocol=0D +//=0D +struct _EFI_TCG2_PROTOCOL {=0D + EFI_TCG2_GET_CAPABILITY GetCapability;=0D + EFI_TCG2_GET_EVENT_LOG GetEventLog;=0D + EFI_TCG2_HASH_LOG_EXTEND_EVENT HashLogExtendEvent;=0D + EFI_TCG2_SUBMIT_COMMAND SubmitCommand;=0D + EFI_TCG2_GET_ACTIVE_PCR_BANKS GetActivePcrBanks;=0D + EFI_TCG2_SET_ACTIVE_PCR_BANKS SetActivePcrBanks;=0D + EFI_TCG2_GET_RESULT_OF_SET_ACTIVE_PCR_BANKS GetResultOfSetActivePcrBanks= ;=0D +};=0D +=0D +extern EFI_GUID gEfiTcg2ProtocolGuid;=0D +=0D +#endif=0D --=20 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#112566): https://edk2.groups.io/g/devel/message/112566 Mute This Topic: https://groups.io/mt/103181267/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-