[edk2-devel] [PATCH v2 2/9] MdeModulePkg/NullTpmMeasurementLib: Add new API.

Qi Zhang posted 9 patches 5 years, 6 months ago
There is a newer version of this series
[edk2-devel] [PATCH v2 2/9] MdeModulePkg/NullTpmMeasurementLib: Add new API.
Posted by Qi Zhang 5 years, 6 months ago
From: Jiewen Yao <jiewen.yao@intel.com>

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2376

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Qi Zhang <qi1.zhang@intel.com>
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
---
 .../TpmMeasurementLibNull.c                   | 61 ++++++++++++++++++-
 .../TpmMeasurementLibNull.inf                 |  6 +-
 2 files changed, 63 insertions(+), 4 deletions(-)

diff --git a/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.c b/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.c
index b9c5b68de8..2ce38d8258 100644
--- a/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.c
+++ b/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.c
@@ -1,11 +1,13 @@
 /** @file
   This library is used by other modules to measure data to TPM.
 
-Copyright (c) 2015, Intel Corporation. All rights reserved. <BR>
+Copyright (c) 2015 - 2020, Intel Corporation. All rights reserved. <BR>
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
 
+#include <Uefi.h>
+
 /**
   Tpm measure and log data, and extend the measurement result into a specific PCR.
 
@@ -37,3 +39,60 @@ TpmMeasureAndLogData (
   //
   return EFI_SUCCESS;
 }
+
+/**
+  Mesure a FirmwareBlob.
+
+  @param[in]  Descrption              Description for this FirmwareBlob.
+  @param[in]  FirmwareBlobBase        Base address of this FirmwareBlob.
+  @param[in]  FirmwareBlobLength      Size in bytes of this FirmwareBlob.
+
+  @retval EFI_SUCCESS           Operation completed successfully.
+  @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
+MeasureFirmwareBlob (
+  IN UINT32                         PcrIndex,
+  IN CHAR8                          *Description OPTIONAL,
+  IN EFI_PHYSICAL_ADDRESS           FirmwareBlobBase,
+  IN UINT64                         FirmwareBlobLength
+  )
+{
+  //
+  // Do nothing, just return EFI_SUCCESS.
+  //
+  return EFI_SUCCESS;
+}
+
+/**
+  Mesure a HandoffTable.
+
+  @param[in]  PcrIndex                PcrIndex of the measurment.
+  @param[in]  Descrption              Description for this HandoffTable.
+  @param[in]  TableGuid               GUID of this HandoffTable.
+  @param[in]  TableAddress            Base address of this HandoffTable.
+  @param[in]  TableLength             Size in bytes of this HandoffTable.
+
+  @retval EFI_SUCCESS           Operation completed successfully.
+  @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
+MeasureHandoffTable (
+  IN UINT32                         PcrIndex,
+  IN CHAR8                          *Description OPTIONAL,
+  IN EFI_GUID                       *TableGuid,
+  IN VOID                           *TableAddress,
+  IN UINTN                          TableLength
+  )
+{
+  //
+  // Do nothing, just return EFI_SUCCESS.
+  //
+  return EFI_SUCCESS;
+}
diff --git a/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf b/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
index 61abcfa2ec..1db2c0d6a7 100644
--- a/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
+++ b/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
@@ -1,7 +1,7 @@
 ## @file
 #  Provides NULL TPM measurement function.
 #
-# Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2015 - 2020, Intel Corporation. All rights reserved.<BR>
 # SPDX-License-Identifier: BSD-2-Clause-Patent
 #
 ##
@@ -10,9 +10,9 @@
   INF_VERSION                    = 0x00010005
   BASE_NAME                      = TpmMeasurementLibNull
   FILE_GUID                      = 6DFD6E9F-9278-48D8-8F45-B6CFF2C2B69C
-  MODULE_TYPE                    = UEFI_DRIVER
+  MODULE_TYPE                    = BASE
   VERSION_STRING                 = 1.0
-  LIBRARY_CLASS                  = TpmMeasurementLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
+  LIBRARY_CLASS                  = TpmMeasurementLib
   MODULE_UNI_FILE                = TpmMeasurementLibNull.uni
 
 #
-- 
2.26.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#63753): https://edk2.groups.io/g/devel/message/63753
Mute This Topic: https://groups.io/mt/76019583/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH v2 2/9] MdeModulePkg/NullTpmMeasurementLib: Add new API.
Posted by Wang, Jian J 5 years, 6 months ago
Qi,

Some typos. See inline comments below.

> -----Original Message-----
> From: Zhang, Qi1 <qi1.zhang@intel.com>
> Sent: Thursday, August 06, 2020 8:34 AM
> To: devel@edk2.groups.io
> Cc: Yao, Jiewen <jiewen.yao@intel.com>; Wang, Jian J <jian.j.wang@intel.com>;
> Wu, Hao A <hao.a.wu@intel.com>; Zhang, Qi1 <qi1.zhang@intel.com>
> Subject: [PATCH v2 2/9] MdeModulePkg/NullTpmMeasurementLib: Add new API.
> 
> From: Jiewen Yao <jiewen.yao@intel.com>
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2376
> 
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Hao A Wu <hao.a.wu@intel.com>
> Cc: Qi Zhang <qi1.zhang@intel.com>
> Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
> ---
>  .../TpmMeasurementLibNull.c                   | 61 ++++++++++++++++++-
>  .../TpmMeasurementLibNull.inf                 |  6 +-
>  2 files changed, 63 insertions(+), 4 deletions(-)
> 
> diff --git
> a/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.c
> b/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.c
> index b9c5b68de8..2ce38d8258 100644
> ---
> a/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.c
> +++
> b/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.c
> @@ -1,11 +1,13 @@
>  /** @file
> 
>    This library is used by other modules to measure data to TPM.
> 
> 
> 
> -Copyright (c) 2015, Intel Corporation. All rights reserved. <BR>
> 
> +Copyright (c) 2015 - 2020, Intel Corporation. All rights reserved. <BR>
> 
>  SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> 
> 
>  **/
> 
> 
> 
> +#include <Uefi.h>
> 
> +
> 
>  /**
> 
>    Tpm measure and log data, and extend the measurement result into a specific
> PCR.
> 
> 
> 
> @@ -37,3 +39,60 @@ TpmMeasureAndLogData (
>    //
> 
>    return EFI_SUCCESS;
> 
>  }
> 
> +
> 
> +/**
> 
> +  Mesure a FirmwareBlob.

'Mesure' -> 'Measure'

> 
> +
> 
> +  @param[in]  Descrption              Description for this FirmwareBlob.

'Descrption' -> 'Description'

> 
> +  @param[in]  FirmwareBlobBase        Base address of this FirmwareBlob.
> 
> +  @param[in]  FirmwareBlobLength      Size in bytes of this FirmwareBlob.
> 
> +
> 
> +  @retval EFI_SUCCESS           Operation completed successfully.
> 
> +  @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
> 
> +MeasureFirmwareBlob (
> 
> +  IN UINT32                         PcrIndex,
> 
> +  IN CHAR8                          *Description OPTIONAL,
> 
> +  IN EFI_PHYSICAL_ADDRESS           FirmwareBlobBase,
> 
> +  IN UINT64                         FirmwareBlobLength
> 
> +  )
> 
> +{
> 
> +  //
> 
> +  // Do nothing, just return EFI_SUCCESS.
> 
> +  //
> 
> +  return EFI_SUCCESS;
> 
> +}
> 
> +
> 
> +/**
> 
> +  Mesure a HandoffTable.

'Mesure' -> 'Measure'

> 
> +
> 
> +  @param[in]  PcrIndex                PcrIndex of the measurment.

'measurment' -> 'measurement'

> 
> +  @param[in]  Descrption              Description for this HandoffTable.

'Descrption' -> 'Description'

> 
> +  @param[in]  TableGuid               GUID of this HandoffTable.
> 
> +  @param[in]  TableAddress            Base address of this HandoffTable.
> 
> +  @param[in]  TableLength             Size in bytes of this HandoffTable.
> 
> +
> 
> +  @retval EFI_SUCCESS           Operation completed successfully.
> 
> +  @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
> 
> +MeasureHandoffTable (
> 
> +  IN UINT32                         PcrIndex,
> 
> +  IN CHAR8                          *Description OPTIONAL,
> 
> +  IN EFI_GUID                       *TableGuid,
> 
> +  IN VOID                           *TableAddress,
> 
> +  IN UINTN                          TableLength
> 
> +  )
> 
> +{
> 
> +  //
> 
> +  // Do nothing, just return EFI_SUCCESS.
> 
> +  //
> 
> +  return EFI_SUCCESS;
> 
> +}
> 
> diff --git
> a/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.in
> f
> b/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.in
> f
> index 61abcfa2ec..1db2c0d6a7 100644
> ---
> a/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.in
> f
> +++
> b/MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.in
> f
> @@ -1,7 +1,7 @@
>  ## @file
> 
>  #  Provides NULL TPM measurement function.
> 
>  #
> 
> -# Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
> 
> +# Copyright (c) 2015 - 2020, Intel Corporation. All rights reserved.<BR>
> 
>  # SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  #
> 
>  ##
> 
> @@ -10,9 +10,9 @@
>    INF_VERSION                    = 0x00010005
> 
>    BASE_NAME                      = TpmMeasurementLibNull
> 
>    FILE_GUID                      = 6DFD6E9F-9278-48D8-8F45-B6CFF2C2B69C
> 
> -  MODULE_TYPE                    = UEFI_DRIVER
> 
> +  MODULE_TYPE                    = BASE
> 
>    VERSION_STRING                 = 1.0
> 
> -  LIBRARY_CLASS                  = TpmMeasurementLib|DXE_DRIVER
> DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
> 
> +  LIBRARY_CLASS                  = TpmMeasurementLib
> 
>    MODULE_UNI_FILE                = TpmMeasurementLibNull.uni
> 
> 
> 
>  #
> 
> --
> 2.26.2.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#64029): https://edk2.groups.io/g/devel/message/64029
Mute This Topic: https://groups.io/mt/76019583/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-