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 D7C99941E85 for ; Mon, 18 Dec 2023 23:32:51 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=PZ1QIVGqAHDucI0nKJ6P0oGT6t7d/tuTHf9B0pVsdI4=; c=relaxed/simple; d=groups.io; h=Message-ID:Date:MIME-Version:User-Agent:Subject:To:Cc:References:From:In-Reply-To:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1702942370; v=1; b=T+anGUnRmHJBK33Y6Hkxx+lPUQ3aw5qFQqvmGw607Z4OmTyRayYC4LUYsyI7vl6AlSyu9zyL HKBzzAaArwqn3Ty18+VUtCXbjtBf2viv0ucn3RhmYvST7kv4PjZRAgXZ6YurTIb6PvSxBdKVpaq sL8PdJ/Kb4cTkA2tY6IQUWBA= X-Received: by 127.0.0.2 with SMTP id cpacYY7687511xK3fvXKSRm0; Mon, 18 Dec 2023 15:32:50 -0800 X-Received: from smtp-relay-canonical-0.canonical.com (smtp-relay-canonical-0.canonical.com [185.125.188.120]) by mx.groups.io with SMTP id smtpd.web11.63992.1702650658577169969 for ; Fri, 15 Dec 2023 06:30:59 -0800 X-Received: from [192.168.123.94] (ip-178-202-040-247.um47.pools.vodafone-ip.de [178.202.40.247]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-canonical-0.canonical.com (Postfix) with ESMTPSA id E5863413B9; Fri, 15 Dec 2023 14:30:55 +0000 (UTC) Message-ID: Date: Fri, 15 Dec 2023 15:30:55 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [edk2-devel] [PATCH v1 1/6] uefi-sct/SctPkg: TCG2 Protocol: add header with TCG2 protocol definitions To: Stuart Yoder Cc: ilias.apalodimas@linaro.org, Samer.El-Haj-Mahmoud@arm.com, Jiewen.Yao@intel.com, devel@edk2.groups.io, Edhaya.Chandran@arm.com, gaojie@byosoft.com.cn References: <20231214233921.169624-1-stuart.yoder@arm.com> <20231214233921.169624-2-stuart.yoder@arm.com> From: "Heinrich Schuchardt" In-Reply-To: <20231214233921.169624-2-stuart.yoder@arm.com> 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,heinrich.schuchardt@canonical.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: AKO9fdCpTbLbpOuaclepDraHx7686176AA= Content-Language: en-US, de-DE Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=T+anGUnR; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=canonical.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 On 12/15/23 00:39, Stuart Yoder wrote: > From: Joseph Hemann Please, provide commit messages. >=20 > Signed-off-by: Joseph Hemann > Signed-off-by: Stuart Yoder > --- > uefi-sct/SctPkg/UEFI/Protocol/TCG2.h | 179 ++++++++++++++++++++ > 1 file changed, 179 insertions(+) >=20 > diff --git a/uefi-sct/SctPkg/UEFI/Protocol/TCG2.h b/uefi-sct/SctPkg/UEFI/= Protocol/TCG2.h > new file mode 100644 > index 000000000000..659c61a741e7 > --- /dev/null > +++ b/uefi-sct/SctPkg/UEFI/Protocol/TCG2.h > @@ -0,0 +1,179 @@ > +/** @file > + > + Copyright 2006 - 2016 Unified EFI, Inc.
> + Copyright (c) 2013 - 2016, Intel Corporation. All rights reserved.
> + Copyright (c) 2021 - 2023, Arm Inc. 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 I= MPLIED. > + > +**/ > +/*++ > + > +Module Name: > + > + TCG2.h > + > +Abstract: > + > + EFI TCG Protocol > + > +--*/ > + > + > +#ifndef __TCG2_PROTOCOL_H__ > +#define __TCG2_PROTOCOL_H__ > + > +// > +// Global ID for the TCG2 Protocol > +// > +#define EFI_TCG2_PROTOCOL_GUID \ > + {0x607f766c, 0x7455, 0x42be, {0x93, 0x0b, 0xe4, 0xd7, 0x6d, 0xb2, 0x7= 2, 0x0f}} > + > +// Following defintions come from TCG2 Efi Protocol Spec > +#define EFI_TCG2_BOOT_HASH_ALG_SHA1 0x00000001 > + > +#define EFI_TCG2_BOOT_HASH_ALG_SHA256 0x00000002 > + > +#define EFI_TCG2_BOOT_HASH_ALG_SHA384 0x00000004 > + > +#define EFI_TCG2_BOOT_HASH_ALG_SHA512 0x00000008 > + > +#define EFI_TCG2_BOOT_HASH_ALG_SM3_256 0x00000010 > + > +#define EFI_TCG2_EVENT_LOG_FORMAT_TCG_1_2 0x00000001 > + > +#define EFI_TCG2_EVENT_LOG_FORMAT_TCG_2 0x00000002 > + > +typedef struct _EFI_TCG2_PROTOCOL EFI_TCG2_PROTOCOL; > + > +typedef UINT64 EFI_PHYSICAL_ADDRESS; EFI_PHYSICAL_ADDRESS already is used in edk2-test. We should avoid=20 duplicate definitions. This type is not TCG2 specific and hence should be defined in a=20 different include. Best regards Heinrich > + > +typedef UINT32 EFI_TCG2_EVENT_LOG_BITMAP; > + > +typedef UINT32 EFI_TCG2_EVENT_LOG_FORMAT; > + > +typedef UINT32 EFI_TCG2_EVENT_ALGORITHM_BITMAP; > + > +typedef UINT32 TCG_PCRINDEX; > + > +typedef UINT32 TCG_EVENTTYPE; > + > +// Following struct defintions come from TCG2 Efi Protocol Spec > +typedef struct { > + UINT8 Major; > + UINT8 Minor; > +} EFI_TCG2_VERSION; > + > +typedef struct { > + UINT8 Size; > + EFI_TCG2_VERSION StructureVersion; > + EFI_TCG2_VERSION ProtocolVersion; > + EFI_TCG2_EVENT_ALGORITHM_BITMAP HashAlgorithmBitmap; > + EFI_TCG2_EVENT_LOG_BITMAP SupportedEventLogs; > + BOOLEAN TPMPresentFlag; > + UINT16 MaxCommandSize; > + UINT16 MaxResponseSize; > + UINT32 ManufacturerID; > + UINT32 NumberOfPcrBanks; > + EFI_TCG2_EVENT_ALGORITHM_BITMAP ActivePcrBanks; > +} EFI_TCG2_BOOT_SERVICE_CAPABILITY; > + > +typedef > +EFI_STATUS > +(EFIAPI *EFI_TCG2_GET_CAPABILITY) ( > + IN EFI_TCG2_PROTOCOL *This, > + IN OUT EFI_TCG2_BOOT_SERVICE_CAPABILITY *ProtocolCapability > +); > + > +typedef > +EFI_STATUS > +(EFIAPI *EFI_TCG2_GET_EVENT_LOG) ( > + IN EFI_TCG2_PROTOCOL *This, > + IN EFI_TCG2_EVENT_LOG_FORMAT EventLogFormat, > + OUT EFI_PHYSICAL_ADDRESS *EventLogLocation, > + OUT EFI_PHYSICAL_ADDRESS *EventLogLastEntry, > + OUT BOOLEAN *EventLogTruncated > +); > + > +// all structs except EFI_TCG2_BOOT_SERVICE_CAPABILITY are packed > +#pragma pack(1) > + > +typedef struct tdEFI_TCG2_EVENT_HEADER { > + UINT32 HeaderSize; > + UINT16 HeaderVersion; > + TCG_PCRINDEX PCRIndex; > + TCG_EVENTTYPE EventType; > +} EFI_TCG2_EVENT_HEADER; > + > +typedef struct tdEFI_TCG2_EVENT { > + UINT32 Size; > + EFI_TCG2_EVENT_HEADER Header; > + UINT8 Event[]; > +} EFI_TCG2_EVENT; > + > +#pragma pack() > + > +typedef > +EFI_STATUS > +(EFIAPI * EFI_TCG2_HASH_LOG_EXTEND_EVENT) ( > + IN EFI_TCG2_PROTOCOL *This, > + IN UINT64 Flags, > + IN EFI_PHYSICAL_ADDRESS DataToHash, > + IN UINT64 DataToHashLen, > + IN EFI_TCG2_EVENT *EfiTcgEvent > +); > + > +typedef > +EFI_STATUS > +(EFIAPI *EFI_TCG2_SUBMIT_COMMAND) ( > + IN EFI_TCG2_PROTOCOL *This, > + IN UINT32 InputParameterBlockSize, > + IN UINT8 *InputParameterBlock, > + IN UINT32 OutputParameterBlockSize, > + IN UINT8 *OutputParameterBlock > +); > + > +typedef > +EFI_STATUS > +(EFIAPI *EFI_TCG2_GET_ACTIVE_PCR_BANKS) ( > + IN EFI_TCG2_PROTOCOL *This, > + OUT UINT32 *ActivePcrBanks > +); > + > +typedef > +EFI_STATUS > +(EFIAPI *EFI_TCG2_SET_ACTIVE_PCR_BANKS) ( > + IN EFI_TCG2_PROTOCOL *This, > + IN UINT32 ActivePcrBanks > +); > + > +typedef > +EFI_STATUS > +(EFIAPI * EFI_TCG2_GET_RESULT_OF_SET_ACTIVE_PCR_BANKS) ( > + IN EFI_TCG2_PROTOCOL *This, > + OUT UINT32 *OperationPresent, > + OUT UINT32 *Response > +); > + > +// > +// Interface structure for the TCG2 Protocol > +// > +struct _EFI_TCG2_PROTOCOL { > + EFI_TCG2_GET_CAPABILITY GetCapability; > + EFI_TCG2_GET_EVENT_LOG GetEventLog; > + EFI_TCG2_HASH_LOG_EXTEND_EVENT HashLogExtendEvent; > + EFI_TCG2_SUBMIT_COMMAND SubmitCommand; > + EFI_TCG2_GET_ACTIVE_PCR_BANKS GetActivePcrBanks; > + EFI_TCG2_SET_ACTIVE_PCR_BANKS SetActivePcrBanks; > + EFI_TCG2_GET_RESULT_OF_SET_ACTIVE_PCR_BANKS GetResultOfSetActivePcrBan= ks; > +}; > + > +extern EFI_GUID gEfiTcg2ProtocolGuid; > + > +#endif -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#112656): https://edk2.groups.io/g/devel/message/112656 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] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-