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 (#63045): https://edk2.groups.io/g/devel/message/63045 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] -=-=-=-=-=-=-=-=-=-=-=-