[edk2-devel] [RFC PATCH 1/3] ArmVirtPkg/TPM: Add a NULL implementation of TpmPlatformHierarchyLib

Ard Biesheuvel ardb at kernel.org
Sat Sep 18 07:55:02 UTC 2021


On Thu, 16 Sept 2021 at 23:18, Stefan Berger <stefanb at linux.ibm.com> wrote:
>
> From: Stefan Berger <stefanb at linux.vnet.ibm.com>
>
> Add a NULL implementation of the library class TpmPlatformHierarchyLib.
>

This patch introduces both the library class and the NULL
implementation, right?

> Cc: Ard Biesheuvel <ardb+tianocore at kernel.org>
> Cc: Leif Lindholm <leif at nuviainc.com>
> Cc: Sami Mujawar <sami.mujawar at arm.com>
> Cc: Gerd Hoffmann <kraxel at redhat.com>
> Signed-off-by: Stefan Berger <stefanb at linux.ibm.com>
> ---
>  ArmVirtPkg/ArmVirtPkg.dec                     |  1 +
>  .../Include/Library/TpmPlatformHierarchyLib.h | 27 +++++++++++++++++
>  .../PeiDxeTpmPlatformHierarchyLib.c           | 22 ++++++++++++++
>  .../PeiDxeTpmPlatformHierarchyLib.inf         | 30 +++++++++++++++++++
>  4 files changed, 80 insertions(+)
>  create mode 100644 ArmVirtPkg/Include/Library/TpmPlatformHierarchyLib.h
>  create mode 100644 ArmVirtPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatformHierarchyLib.c
>  create mode 100644 ArmVirtPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatformHierarchyLib.inf
>
> diff --git a/ArmVirtPkg/ArmVirtPkg.dec b/ArmVirtPkg/ArmVirtPkg.dec
> index 4e4d758015..f3bdca118b 100644
> --- a/ArmVirtPkg/ArmVirtPkg.dec
> +++ b/ArmVirtPkg/ArmVirtPkg.dec
> @@ -27,6 +27,7 @@
>
>  [LibraryClasses]
>    ArmVirtMemInfoLib|Include/Library/ArmVirtMemInfoLib.h
> +  TpmPlatformHierarchyLib|Include/Library/TpmPlatformHierarchyLib.h
>
>  [Guids.common]
>    gArmVirtTokenSpaceGuid = { 0x0B6F5CA7, 0x4F53, 0x445A, { 0xB7, 0x6E, 0x2E, 0x36, 0x5B, 0x80, 0x63, 0x66 } }
> diff --git a/ArmVirtPkg/Include/Library/TpmPlatformHierarchyLib.h b/ArmVirtPkg/Include/Library/TpmPlatformHierarchyLib.h
> new file mode 100644
> index 0000000000..8d61a4867b
> --- /dev/null
> +++ b/ArmVirtPkg/Include/Library/TpmPlatformHierarchyLib.h
> @@ -0,0 +1,27 @@
> +/** @file
> +    TPM Platform Hierarchy configuration library.
> +
> +    This library provides functions for customizing the TPM's Platform Hierarchy
> +    Authorization Value (platformAuth) and Platform Hierarchy Authorization
> +    Policy (platformPolicy) can be defined through this function.
> +
> +Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) Microsoft Corporation.<BR>
> +SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#ifndef TPM_PLATFORM_HIERARCHY_LIB_H_
> +#define TPM_PLATFORM_HIERARCHY_LIB_H_
> +
> +/**
> +   This service will perform the TPM Platform Hierarchy configuration at the SmmReadyToLock event.
> +
> +**/
> +VOID
> +EFIAPI
> +ConfigureTpmPlatformHierarchy (
> +  VOID
> +  );
> +
> +#endif
> diff --git a/ArmVirtPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatformHierarchyLib.c b/ArmVirtPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatformHierarchyLib.c
> new file mode 100644
> index 0000000000..bac1efda63
> --- /dev/null
> +++ b/ArmVirtPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatformHierarchyLib.c
> @@ -0,0 +1,22 @@
> +/** @file
> +    Null TPM Platform Hierarchy configuration library.
> +
> +    This library provides stub functions for customizing the TPM's Platform Hierarchy.
> +
> +    Copyright (c) 2021, IBM Corporation.
> +    SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +**/
> +
> +#include <Uefi.h>
> +
> +/**
> +  A NULL implementation of ConfigureTpmPlatformHierarchy.
> +**/
> +VOID
> +EFIAPI
> +ConfigureTpmPlatformHierarchy (

VOID

> +  )
> +{
> +  /* no nothing */

double negative :-)

> +}
> diff --git a/ArmVirtPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatformHierarchyLib.inf b/ArmVirtPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatformHierarchyLib.inf
> new file mode 100644
> index 0000000000..4f02818bbc
> --- /dev/null
> +++ b/ArmVirtPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatformHierarchyLib.inf
> @@ -0,0 +1,30 @@
> +### @file
> +#   NULL TPM Platform Hierarchy configuration library.
> +#
> +#   This library provides functions for customizing the TPM's Platform Hierarchy
> +#   Authorization Value (platformAuth) and Platform Hierarchy Authorization
> +#   Policy (platformPolicy) can be defined through this function.
> +#
> +# Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) Microsoft Corporation.<BR>
> +#
> +# SPDX-License-Identifier: BSD-2-Clause-Patent
> +#
> +###
> +
> +[Defines]
> +  INF_VERSION                    = 0x00010005

1.27

> +  BASE_NAME                      = PeiDxeTpmPlatformHierarchyLibNull

Make this BasePlatform....

> +  FILE_GUID                      = 8947A3F2-BfB4-45EF-968D-5C40C1CE6A58
> +  MODULE_TYPE                    = PEIM

BASE

> +  VERSION_STRING                 = 1.0
> +  LIBRARY_CLASS                  = TpmPlatformHierarchyLib|PEIM DXE_DRIVER
> +
> +[LibraryClasses]
> +  BaseLib
> +
> +[Packages]
> +  MdePkg/MdePkg.dec
> +
> +[Sources]
> +  PeiDxeTpmPlatformHierarchyLib.c
> --
> 2.31.1
>
>
>
> ------------
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#80830): https://edk2.groups.io/g/devel/message/80830
> Mute This Topic: https://groups.io/mt/85662429/5717338
> Group Owner: devel+owner at edk2.groups.io
> Unsubscribe: https://edk2.groups.io/g/devel/unsub [ardb+tianocore at kernel.org]
> ------------
>
>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#80852): https://edk2.groups.io/g/devel/message/80852
Mute This Topic: https://groups.io/mt/85662429/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list