yes, i am ok with that. thank you! Yao, Jiewen
> 在 2020年7月22日,上午10:08,Zhang, Qi1 <qi1.zh...@intel.com> 写道: > > Can we move this requirement implementation to > https://bugzilla.tianocore.org/show_bug.cgi?id=2376: Need add a FSP binary > measurement. > > 3) Add more API in TpmMeasurementLib, such as MeasureFirmwareBlob, > MeasureHandoffTable for TPM PFP rev 105 support - add description for the > FirmwareBlob and HandoffTable. > >> -----Original Message----- >> From: Wang, Jian J <jian.j.w...@intel.com> >> Sent: Wednesday, July 22, 2020 9:08 AM >> To: Yao, Jiewen <jiewen....@intel.com>; devel@edk2.groups.io; Zhang, Qi1 >> <qi1.zh...@intel.com> >> Subject: RE: [edk2-devel] [PATCH v4 5/6] SecurityPkg/PeiTpmMeasurementLib: >> Add PEI instance. >> >> To avoid inconsistency, please add comments in the BZ or in commit message >> of this patch. >> >> With all comments addressed, >> Reviewed-by: Jian J Wang <jian.j.w...@intel.com> >> >> Regards, >> Jian >> >>> -----Original Message----- >>> From: Yao, Jiewen <jiewen....@intel.com> >>> Sent: Tuesday, July 21, 2020 11:05 PM >>> To: Wang, Jian J <jian.j.w...@intel.com>; devel@edk2.groups.io; Zhang, >>> Qi1 <qi1.zh...@intel.com> >>> Cc: Yao, Jiewen <jiewen....@intel.com> >>> Subject: RE: [edk2-devel] [PATCH v4 5/6] >> SecurityPkg/PeiTpmMeasurementLib: >>> Add PEI instance. >>> >>> Right. That can be implemented as separated patch. >>> >>>> -----Original Message----- >>>> From: Wang, Jian J <jian.j.w...@intel.com> >>>> Sent: Tuesday, July 21, 2020 5:16 PM >>>> To: devel@edk2.groups.io; Wang, Jian J <jian.j.w...@intel.com>; >>>> Zhang, Qi1 <qi1.zh...@intel.com> >>>> Cc: Yao, Jiewen <jiewen....@intel.com> >>>> Subject: RE: [edk2-devel] [PATCH v4 5/6] >> SecurityPkg/PeiTpmMeasurementLib: >>>> Add PEI instance. >>>> >>>> Sorry, missing word in previous email. It should be >>>> >>>> "following requirement is not embodied in" >>>> >>>> Regards, >>>> Jian >>>> >>>>> -----Original Message----- >>>>> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of >>>>> Wang, >>>> Jian >>>>> J >>>>> Sent: Tuesday, July 21, 2020 5:00 PM >>>>> To: Zhang, Qi1 <qi1.zh...@intel.com>; devel@edk2.groups.io >>>>> Cc: Yao, Jiewen <jiewen....@intel.com> >>>>> Subject: Re: [edk2-devel] [PATCH v4 5/6] >>> SecurityPkg/PeiTpmMeasurementLib: >>>>> Add PEI instance. >>>>> >>>>> Qi, >>>>> >>>>> Two format issues inlined below. >>>>> >>>>> In addition, according to bz2841, following requirement is >>>>> embodied in this patch. Maybe there's discussion before deciding >>>>> not to implement it. If so, please update bz2841 to state it explicitly. >>>>> >>>>> 3) Add more API in TpmMeasurementLib, such as MeasureFirmwareBlob, >>>>> MeasureHandoffTable for TPM PFP rev 105 support - add description >>>>> for the FirmwareBlob and HandoffTable. >>>>> >>>>> Regards, >>>>> Jian >>>>> >>>>>> -----Original Message----- >>>>>> From: Zhang, Qi1 <qi1.zh...@intel.com> >>>>>> Sent: Friday, July 17, 2020 4:50 PM >>>>>> To: devel@edk2.groups.io >>>>>> Cc: Yao, Jiewen <jiewen....@intel.com>; Wang, Jian J >>>>> <jian.j.w...@intel.com>; >>>>>> Zhang, Qi1 <qi1.zh...@intel.com> >>>>>> Subject: [PATCH v4 5/6] SecurityPkg/PeiTpmMeasurementLib: Add >>>>>> PEI >>>> instance. >>>>>> >>>>>> From: Jiewen Yao <jiewen....@intel.com> >>>>>> >>>>>> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2841 >>>>>> >>>>>> Cc: Jiewen Yao <jiewen....@intel.com> >>>>>> Cc: Jian J Wang <jian.j.w...@intel.com> >>>>>> Cc: Qi Zhang <qi1.zh...@intel.com> >>>>>> Signed-off-by: Jiewen Yao <jiewen....@intel.com> >>>>>> --- >>>>>> .../PeiTpmMeasurementLib.c | 74 +++++++++++++++++++ >>>>>> .../PeiTpmMeasurementLib.inf | 50 +++++++++++++ >>>>>> .../PeiTpmMeasurementLib.uni | 17 +++++ >>>>>> 3 files changed, 141 insertions(+) create mode 100644 >>>>>> SecurityPkg/Library/PeiTpmMeasurementLib/PeiTpmMeasurementLib.c >>>>>> create mode 100644 >>>>>> SecurityPkg/Library/PeiTpmMeasurementLib/PeiTpmMeasurementLib.in >>>>>> f >>>>>> create mode 100644 >>>>>> >> SecurityPkg/Library/PeiTpmMeasurementLib/PeiTpmMeasurementLib.un >>>>>> i >>>>>> >>>>>> diff --git >>>>>> a/SecurityPkg/Library/PeiTpmMeasurementLib/PeiTpmMeasurementLib. >>>>>> c >>>>>> b/SecurityPkg/Library/PeiTpmMeasurementLib/PeiTpmMeasurementLib. >>>>>> c >>>>>> new file mode 100644 >>>>>> index 0000000000..1a590e0c9e >>>>>> --- /dev/null >>>>>> +++ >>>> b/SecurityPkg/Library/PeiTpmMeasurementLib/PeiTpmMeasurementLib.c >>>>>> @@ -0,0 +1,74 @@ >>>>>> +/** @file >>>>>> >>>>>> + This library is used by other modules to measure data to TPM. >>>>>> >>>>>> + >>>>>> >>>>>> +Copyright (c) 2020, Intel Corporation. All rights reserved. >>>>>> +<BR> >>>>>> >>>>>> +SPDX-License-Identifier: BSD-2-Clause-Patent >>>>>> >>>>>> + >>>>>> >>>>>> +**/ >>>>>> >>>>>> + >>>>>> >>>>>> +#include <PiPei.h> >>>>>> >>>>>> + >>>>>> >>>>>> +#include <Library/BaseMemoryLib.h> >>>>>> >>>>>> +#include <Library/PeiServicesLib.h> >>>>>> >>>>>> +#include <Library/PeiServicesTablePointerLib.h> >>>>>> >>>>>> +#include <Library/DebugLib.h> >>>>>> >>>>>> +#include <Library/HobLib.h> >>>>>> >>>>>> +#include <Library/TpmMeasurementLib.h> >>>>>> >>>>>> + >>>>>> >>>>>> +#include <Ppi/Tcg.h> >>>>>> >>>>>> +#include <IndustryStandard/UefiTcgPlatform.h> >>>>>> >>>>>> + >>>>>> >>>>>> +/** >>>>>> >>>>>> + Tpm measure and log data, and extend the measurement result >>>>>> + into a >>>>> specific >>>>>> PCR. >>>>>> >>>>>> + >>>>>> >>>>>> + @param[in] PcrIndex PCR Index. >>>>>> >>>>>> + @param[in] EventType Event type. >>>>>> >>>>>> + @param[in] EventLog Measurement event log. >>>>>> >>>>>> + @param[in] LogLen Event log length in bytes. >>>>>> >>>>>> + @param[in] HashData The start of the data buffer to be >>>>>> hashed, >>>>>> extended. >>>>>> >>>>>> + @param[in] HashDataLen The length, in bytes, of the buffer >>> referenced >>>>> by >>>>>> HashData >>>>>> >>>>>> + >>>>>> >>>>>> + @retval EFI_SUCCESS Operation completed successfully. >>>>> >>>>> The description of above retval is not aligned with below line. >>>>> >>>>>> >>>>>> + @retval EFI_UNSUPPORTED TPM device not available. >>>>>> >>>>>> + @retval EFI_OUT_OF_RESOURCES Out of memory. >>>>>> >>>>>> + @retval EFI_DEVICE_ERROR The operation was unsuccessful. >>>>>> >>>>>> +**/ >>>>>> >>>>>> +EFI_STATUS >>>>>> >>>>>> +EFIAPI >>>>>> >>>>>> +TpmMeasureAndLogData ( >>>>>> >>>>>> + IN UINT32 PcrIndex, >>>>>> >>>>>> + IN UINT32 EventType, >>>>>> >>>>>> + IN VOID *EventLog, >>>>>> >>>>>> + IN UINT32 LogLen, >>>>>> >>>>>> + IN VOID *HashData, >>>>>> >>>>>> + IN UINT64 HashDataLen >>>>>> >>>>>> + ) >>>>>> >>>>>> +{ >>>>>> >>>>>> + EFI_STATUS Status; >>>>>> >>>>>> + EDKII_TCG_PPI *TcgPpi; >>>>>> >>>>>> + TCG_PCR_EVENT_HDR TcgEventHdr; >>>>>> >>>>>> + >>>>>> >>>>>> + Status = PeiServicesLocatePpi( >>>>> >>>>> Missing a space before '(' >>>>> >>>>>> >>>>>> + &gEdkiiTcgPpiGuid, >>>>>> >>>>>> + 0, >>>>>> >>>>>> + NULL, >>>>>> >>>>>> + (VOID**)&TcgPpi >>>>>> >>>>>> + ); >>>>>> >>>>>> + if (EFI_ERROR(Status)) { >>>>>> >>>>>> + return Status; >>>>>> >>>>>> + } >>>>>> >>>>>> + >>>>>> >>>>>> + TcgEventHdr.PCRIndex = PcrIndex; >>>>>> >>>>>> + TcgEventHdr.EventType = EventType; >>>>>> >>>>>> + TcgEventHdr.EventSize = LogLen; >>>>>> >>>>>> + >>>>>> >>>>>> + Status = TcgPpi->HashLogExtendEvent ( >>>>>> >>>>>> + TcgPpi, >>>>>> >>>>>> + 0, >>>>>> >>>>>> + HashData, >>>>>> >>>>>> + (UINTN)HashDataLen, >>>>>> >>>>>> + &TcgEventHdr, >>>>>> >>>>>> + EventLog >>>>>> >>>>>> + ); >>>>>> >>>>>> + return Status; >>>>>> >>>>>> +} >>>>>> >>>>>> diff --git >>>>>> a/SecurityPkg/Library/PeiTpmMeasurementLib/PeiTpmMeasurementLib. >>>>>> inf >>>>>> b/SecurityPkg/Library/PeiTpmMeasurementLib/PeiTpmMeasurementLib. >>>>>> inf >>>>>> new file mode 100644 >>>>>> index 0000000000..6625d0fd01 >>>>>> --- /dev/null >>>>>> +++ >>>>> >> b/SecurityPkg/Library/PeiTpmMeasurementLib/PeiTpmMeasurementLib.in >>>>> f >>>>>> @@ -0,0 +1,50 @@ >>>>>> +## @file >>>>>> >>>>>> +# Provides TPM measurement functions for TPM1.2 and TPM 2.0 >>>>>> >>>>>> +# >>>>>> >>>>>> +# This library provides TpmMeasureAndLogData() to measure and >>>>>> +log >>> data, >>>>>> and >>>>>> >>>>>> +# extend the measurement result into a specific PCR. >>>>>> >>>>>> +# >>>>>> >>>>>> +# Copyright (c) 2020, Intel Corporation. All rights >>>>>> +reserved.<BR> >>>>>> >>>>>> +# SPDX-License-Identifier: BSD-2-Clause-Patent >>>>>> >>>>>> +# >>>>>> >>>>>> +## >>>>>> >>>>>> + >>>>>> >>>>>> +[Defines] >>>>>> >>>>>> + INF_VERSION = 0x00010005 >>>>>> >>>>>> + BASE_NAME = PeiTpmMeasurementLib >>>>>> >>>>>> + FILE_GUID = 9A62C49D-C45A-4322-9F3C-45958DF0056B >>>>>> >>>>>> + MODULE_TYPE = PEIM >>>>>> >>>>>> + VERSION_STRING = 1.0 >>>>>> >>>>>> + LIBRARY_CLASS = TpmMeasurementLib|PEIM >>>>>> >>>>>> + MODULE_UNI_FILE = PeiTpmMeasurementLib.uni >>>>>> >>>>>> + >>>>>> >>>>>> +# >>>>>> >>>>>> +# The following information is for reference only and not >>>>>> +required by the >>>>> build >>>>>> tools. >>>>>> >>>>>> +# >>>>>> >>>>>> +# VALID_ARCHITECTURES = IA32 X64 >>>>>> >>>>>> +# >>>>>> >>>>>> + >>>>>> >>>>>> +[Sources] >>>>>> >>>>>> + PeiTpmMeasurementLib.c >>>>>> >>>>>> + >>>>>> >>>>>> +[Packages] >>>>>> >>>>>> + MdePkg/MdePkg.dec >>>>>> >>>>>> + MdeModulePkg/MdeModulePkg.dec >>>>>> >>>>>> + SecurityPkg/SecurityPkg.dec >>>>>> >>>>>> + >>>>>> >>>>>> +[LibraryClasses] >>>>>> >>>>>> + BaseLib >>>>>> >>>>>> + BaseMemoryLib >>>>>> >>>>>> + HobLib >>>>>> >>>>>> + DebugLib >>>>>> >>>>>> + PcdLib >>>>>> >>>>>> + PrintLib >>>>>> >>>>>> + PeiServicesLib >>>>>> >>>>>> + PeiServicesTablePointerLib >>>>>> >>>>>> + >>>>>> >>>>>> +[Ppis] >>>>>> >>>>>> + gEdkiiTcgPpiGuid >>>>>> ## CONSUMES >>>>>> >>>>>> + >>>>>> >>>>>> +[Depex] >>>>>> >>>>>> + gEfiPeiMasterBootModePpiGuid AND >>>>>> >>>>>> + gEfiTpmDeviceSelectedGuid >>>>>> >>>>>> diff --git >>>>>> >>> a/SecurityPkg/Library/PeiTpmMeasurementLib/PeiTpmMeasurementLib.uni >>>>>> >>> b/SecurityPkg/Library/PeiTpmMeasurementLib/PeiTpmMeasurementLib.uni >>>>>> new file mode 100644 >>>>>> index 0000000000..7b4341b449 >>>>>> --- /dev/null >>>>>> +++ >>>>> >> b/SecurityPkg/Library/PeiTpmMeasurementLib/PeiTpmMeasurementLib.un >>>>> i >>>>>> @@ -0,0 +1,17 @@ >>>>>> +// /** @file >>>>>> >>>>>> +// Provides TPM measurement functions for TPM1.2 and TPM 2.0 >>>>>> >>>>>> +// >>>>>> >>>>>> +// This library provides TpmMeasureAndLogData() to to measure >>>>>> +and log >>>> data, >>>>>> and >>>>>> >>>>>> +// extend the measurement result into a specific PCR. >>>>>> >>>>>> +// >>>>>> >>>>>> +// Copyright (c) 2020, Intel Corporation. All rights >>>>>> +reserved.<BR> >>>>>> >>>>>> +// >>>>>> >>>>>> +// SPDX-License-Identifier: BSD-2-Clause-Patent >>>>>> >>>>>> +// >>>>>> >>>>>> +// **/ >>>>>> >>>>>> + >>>>>> >>>>>> + >>>>>> >>>>>> +#string STR_MODULE_ABSTRACT #language en-US "Provides >> TPM >>>>>> measurement functions for TPM1.2 and TPM 2.0" >>>>>> >>>>>> + >>>>>> >>>>>> +#string STR_MODULE_DESCRIPTION #language en-US "This library >>>>>> provides TpmMeasureAndLogData() to to measure and log data, and >>> extend >>>>> the >>>>>> measurement result into a specific PCR." >>>>>> >>>>>> + >>>>>> >>>>>> -- >>>>>> 2.26.2.windows.1 >>>>> >>>>> >>>>> > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#63046): https://edk2.groups.io/g/devel/message/63046 Mute This Topic: https://groups.io/mt/75608836/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-