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]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to