SecurityPkg: add null version of RpmcLib

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

Add null version of RpmcLib instance. The full version should be provided
by platform which supports RPMC device.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Chao Zhang <chao.b.zhang@intel.com>
Cc: Nishant C Mistry <nishant.c.mistry@intel.com>
Signed-off-by: Jian J Wang <jian.j.wang@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
This commit is contained in:
Jian J Wang 2020-03-12 13:42:40 +08:00 committed by mergify[bot]
parent 5042ee43d9
commit d21c2cd082
3 changed files with 86 additions and 0 deletions

View File

@ -0,0 +1,47 @@
/** @file
NULL RpmcLib instance for build purpose.
Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include <Library/DebugLib.h>
#include <Library/RpmcLib.h>
/**
Requests the monotonic counter from the designated RPMC counter.
@param[out] CounterValue A pointer to a buffer to store the RPMC value.
@retval EFI_SUCCESS The operation completed successfully.
@retval EFI_DEVICE_ERROR A device error occurred while attempting to update the counter.
@retval EFI_UNSUPPORTED The operation is un-supported.
**/
EFI_STATUS
EFIAPI
RequestMonotonicCounter (
OUT UINT32 *CounterValue
)
{
ASSERT (FALSE);
return EFI_UNSUPPORTED;
}
/**
Increments the monotonic counter in the SPI flash device by 1.
@retval EFI_SUCCESS The operation completed successfully.
@retval EFI_DEVICE_ERROR A device error occurred while attempting to update the counter.
@retval EFI_UNSUPPORTED The operation is un-supported.
**/
EFI_STATUS
EFIAPI
IncrementMonotonicCounter (
VOID
)
{
ASSERT (FALSE);
return EFI_UNSUPPORTED;
}

View File

@ -0,0 +1,33 @@
## @file
# Provides Null version of RpmcLib for build purpose.
#
# Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
[Defines]
INF_VERSION = 0x00010029
BASE_NAME = RpmcLibNull
FILE_GUID = FAE0BA22-92E2-4334-8F0F-96AFF9BAE360
MODULE_TYPE = BASE
VERSION_STRING = 1.0
LIBRARY_CLASS = RpmcLib
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64 Arm AArch64
#
[Sources]
RpmcLibNull.c
[Packages]
MdePkg/MdePkg.dec
SecurityPkg/SecurityPkg.dec
[LibraryClasses]
BaseLib
DebugLib

View File

@ -64,6 +64,7 @@
TcgStorageCoreLib|SecurityPkg/Library/TcgStorageCoreLib/TcgStorageCoreLib.inf
TcgStorageOpalLib|SecurityPkg/Library/TcgStorageOpalLib/TcgStorageOpalLib.inf
ResetSystemLib|MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.inf
RpmcLib|SecurityPkg/Library/RpmcLibNull/RpmcLibNull.inf
[LibraryClasses.ARM]
#
@ -217,6 +218,11 @@
SecurityPkg/Library/TcgStorageCoreLib/TcgStorageCoreLib.inf
SecurityPkg/Library/TcgStorageOpalLib/TcgStorageOpalLib.inf
#
# Variable Confidentiality & Integrity
#
SecurityPkg/Library/RpmcLibNull/RpmcLibNull.inf
#
# Other
#