Series: Reviewed-by: Jiewen Yao <[email protected]> > -----Original Message----- > From: Xu, Min M <[email protected]> > Sent: Saturday, December 11, 2021 9:09 PM > To: [email protected] > Cc: Xu, Min M <[email protected]>; Kinney, Michael D > <[email protected]>; Liming Gao <[email protected]>; Liu, > Zhiguang <[email protected]>; Yao, Jiewen <[email protected]>; > Wang, Jian J <[email protected]>; Lu, Ken <[email protected]>; Sami > Mujawar <[email protected]>; Gerd Hoffmann <[email protected]> > Subject: [PATCH V7 0/3] Introduce CcMeasurementProtocol into EDK2 > > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3625 > > If Confidential Computing (Cc) firmware supports measurement and an > event is created, CC-Guest firmware is designed to report the event > log with the same data structure in TCG-Platform-Firmware-Profile > specification with EFI_TCG2_EVENT_LOG_FORMAT_TCG_2 format. > > The CC-Guest firmware supports measurement. It is designed to produce > EFI_CC_MEASUREMENT_PROTOCOL with new GUID > EFI_CC_MEASUREMENT_PROTOCOL_GUID to report event log and provides > hash capability. > > Patch #1: > Introduce the CC Measurement Protocol definition into MdePkg. > > Patch #2: > Update DxeTpm2MeasureBootLib to support CC based measure boot. > > Patch #3: > Update DxeTpmMeasurementLib to support CC based measurement. > > Code is at https://github.com/mxu9/edk2/tree/td_protocol.v6 > > This patch-set has been tested in Intel's internal hardware platform. > Both TD and TPM pass the tests. > > v7 changes: > - Rebase the code base (commit: e81a81e5846e) and update patch-set with > uncrustify. > > v6 changes: > - Add ASSERT (sizeof (EFI_CC_EVENT) == sizeof (EFI_TCG2_EVENT)) check. > - Update the CcMeasureAndLogData () to add CcProtocol pointer as the > input parameter. > - Tpm20MeasureAndLogData () / Tpm12MeasureAndLogDat () > / CcMeasureAndLogData () are made static according to Sami's > comments. > > v5 changes: > - Add gEfiCcFinalEventsTableGuid in [Guids] section of MdePkg.dec > - DxeTpm2MeasureBootLib and DxeTpmMeasurementLib will first > call CC protocol to do the measure boot / measurement. If it is not > installed, TCG2 protocol will be located and called. > - CreateCcEventFromTcg2Event is removed. This is because CcEvent is > similar to Tcg2Event except the MrIndex and PcrIndex. So in the code > Tcg2Event will be first created and intialized. If > CcMeasurementProtocol is called to do the measure boot, then CcEvent > points to Tcg2Event and the MrIndex is adjusted. > - Some other minor changes. > > v4 changes: > - Rename TeeMeasurementProtocol to CcMeasurementProtocol based > on the discussion in below links: > https://edk2.groups.io/g/devel/message/82876 > https://edk2.groups.io/g/devel/message/82999 > https://edk2.groups.io/g/devel/message/83000 > With this protocol, CC based measure boot is supported. > TD based measure boot is one of the CC based measure boot. > - The spec will be updated according to the changes later. > - TdProtocol.h is deleted. Its content is merged into CcMeasurement.h. > - Add gEfiCcFinalEventsTableGuid definition in MdePkg.dec > - Update the description in DxeTpm2MeasureBootLib.inf > and DxeTpmMeasurementLib.inf > > v3 changes: > - Rename TdProtocol to TeeMeasurementProtocol which is a neutral name. > With this protocol, TEE based measure boot is supported. > TD based measure boot is one of the TEE based measure boot. > - The spec will be updated according to the changes later. > - Fix errors in DxeTpm2MeasureBootLib. > > v2 changes: > - TD based measure boot is implemented in DxeTpm2MeasureBootLib. > This minimize the code changes. > - TD based measurement is added. It is implemented in > DxeTpmMeasurementLib. > - Fix the typo in comments. > > Cc: Michael D Kinney <[email protected]> > Cc: Liming Gao <[email protected]> > Cc: Zhiguang Liu <[email protected]> > Cc: Jiewen Yao <[email protected]> > Cc: Jian J Wang <[email protected]> > Cc: Ken Lu <[email protected]> > Cc: Sami Mujawar <[email protected]> > Cc: Gerd Hoffmann <[email protected]> > Reviewed-by: Sami Mujawar <[email protected]> > Tested-by: Min Xu <[email protected]> > Signed-off-by: Min Xu <[email protected]> > > Min Xu (3): > MdePkg: Introduce CcMeasurementProtocol for CC Guest firmware > SecurityPkg: Support CcMeasurementProtocol in DxeTpm2MeasureBootLib > SecurityPkg: Support CcMeasurementProtocol in DxeTpmMeasurementLib > > MdePkg/Include/Protocol/CcMeasurement.h | 302 +++++++++++++++ > MdePkg/MdePkg.dec | 6 + > .../DxeTpm2MeasureBootLib.c | 343 ++++++++++++++---- > .../DxeTpm2MeasureBootLib.inf | 3 +- > .../DxeTpmMeasurementLib.c | 122 ++++++- > .../DxeTpmMeasurementLib.inf | 9 +- > 6 files changed, 686 insertions(+), 99 deletions(-) > create mode 100644 MdePkg/Include/Protocol/CcMeasurement.h > > -- > 2.29.2.windows.2
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#84654): https://edk2.groups.io/g/devel/message/84654 Mute This Topic: https://groups.io/mt/87657481/21656 Group Owner: [email protected] Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
