MdeModulePkg: Duplicate BaseRngLibTimerLib to MdeModulePkg
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4504 The BaseRngLibTimerLib allows to generate number based on a timer. This mechanism allows to have a basic non-secure implementation for non-production platforms. To bind and identify Random Number Generators implementations with a GUID, an unsafe GUID should be added. This GUID cannot be added to the MdePkg unless it is also added to a specification. To keep the MdePkg self-contained, copy the BaseRngLibTimerLib to the MdeModulePkg. This will allow to define an unsafe Rng GUID in a later patch in the MdeModulePkg. The MdePkg implementation will be removed later. This allows to give some time to platform owners to switch to the MdeModulePkg implementation. Signed-off-by: Pierre Gondois <pierre.gondois@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Acked-by: Ard Biesheuvel <ardb@kernel.org> Tested-by: Kun Qin <kun.qin@microsoft.com>
This commit is contained in:
parent
2ce5ae43c2
commit
2f981bddcb
|
@ -154,7 +154,7 @@
|
||||||
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
||||||
!endif
|
!endif
|
||||||
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
||||||
RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||||||
|
|
||||||
#
|
#
|
||||||
# Secure Boot dependencies
|
# Secure Boot dependencies
|
||||||
|
|
|
@ -128,7 +128,7 @@
|
||||||
FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
|
FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
|
||||||
|
|
||||||
!if $(SECURE_BOOT_ENABLE) == TRUE
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
||||||
RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||||||
IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
|
IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
|
||||||
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
||||||
PlatformSecureLib|SecurityPkg/Library/PlatformSecureLibNull/PlatformSecureLibNull.inf
|
PlatformSecureLib|SecurityPkg/Library/PlatformSecureLibNull/PlatformSecureLibNull.inf
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
## @file
|
||||||
|
# Instance of RNG (Random Number Generator) Library.
|
||||||
|
#
|
||||||
|
# BaseRng Library that uses the TimerLib to provide reasonably random numbers.
|
||||||
|
# Do NOT use this on a production system as this uses the system performance
|
||||||
|
# counter rather than a true source of random in addition to having a weak
|
||||||
|
# random algorithm. This is provided primarily as a source of entropy for
|
||||||
|
# OpenSSL for platforms that do not have a good built in RngLib as this
|
||||||
|
# emulates what was done before (though it isn't perfect).
|
||||||
|
#
|
||||||
|
# Copyright (c) Microsoft Corporation. All rights reserved.<BR>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
#
|
||||||
|
#
|
||||||
|
##
|
||||||
|
|
||||||
|
[Defines]
|
||||||
|
INF_VERSION = 1.27
|
||||||
|
BASE_NAME = BaseRngLibTimerLib
|
||||||
|
MODULE_UNI_FILE = BaseRngLibTimerLib.uni
|
||||||
|
FILE_GUID = 74950C45-10FC-4AB5-B114-49C87C17409B
|
||||||
|
MODULE_TYPE = BASE
|
||||||
|
VERSION_STRING = 1.0
|
||||||
|
LIBRARY_CLASS = RngLib
|
||||||
|
|
||||||
|
[Sources]
|
||||||
|
RngLibTimer.c
|
||||||
|
|
||||||
|
[Packages]
|
||||||
|
MdePkg/MdePkg.dec
|
||||||
|
|
||||||
|
[LibraryClasses]
|
||||||
|
BaseLib
|
||||||
|
DebugLib
|
||||||
|
TimerLib
|
|
@ -0,0 +1,15 @@
|
||||||
|
// @file
|
||||||
|
// Instance of RNG (Random Number Generator) Library.
|
||||||
|
//
|
||||||
|
// RngLib that uses TimerLib's performance counter to provide random numbers.
|
||||||
|
//
|
||||||
|
// Copyright (c) Microsoft Corporation.
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
#string STR_MODULE_ABSTRACT #language en-US "Instance of RNG Library"
|
||||||
|
|
||||||
|
#string STR_MODULE_DESCRIPTION #language en-US "BaseRng Library that uses the TimerLib to provide low-entropy random numbers"
|
||||||
|
|
|
@ -0,0 +1,192 @@
|
||||||
|
/** @file
|
||||||
|
BaseRng Library that uses the TimerLib to provide reasonably random numbers.
|
||||||
|
Do not use this on a production system.
|
||||||
|
|
||||||
|
Copyright (c) Microsoft Corporation.
|
||||||
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
**/
|
||||||
|
|
||||||
|
#include <Base.h>
|
||||||
|
#include <Library/BaseLib.h>
|
||||||
|
#include <Library/DebugLib.h>
|
||||||
|
#include <Library/TimerLib.h>
|
||||||
|
|
||||||
|
#define DEFAULT_DELAY_TIME_IN_MICROSECONDS 10
|
||||||
|
|
||||||
|
/**
|
||||||
|
Using the TimerLib GetPerformanceCounterProperties() we delay
|
||||||
|
for enough time for the PerformanceCounter to increment.
|
||||||
|
|
||||||
|
If the return value from GetPerformanceCounterProperties (TimerLib)
|
||||||
|
is zero, this function will return 10 and attempt to assert.
|
||||||
|
**/
|
||||||
|
STATIC
|
||||||
|
UINT32
|
||||||
|
CalculateMinimumDecentDelayInMicroseconds (
|
||||||
|
VOID
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UINT64 CounterHz;
|
||||||
|
|
||||||
|
// Get the counter properties
|
||||||
|
CounterHz = GetPerformanceCounterProperties (NULL, NULL);
|
||||||
|
// Make sure we won't divide by zero
|
||||||
|
if (CounterHz == 0) {
|
||||||
|
ASSERT (CounterHz != 0); // Assert so the developer knows something is wrong
|
||||||
|
return DEFAULT_DELAY_TIME_IN_MICROSECONDS;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Calculate the minimum delay based on 1.5 microseconds divided by the hertz.
|
||||||
|
// We calculate the length of a cycle (1/CounterHz) and multiply it by 1.5 microseconds
|
||||||
|
// This ensures that the performance counter has increased by at least one
|
||||||
|
return (UINT32)(MAX (DivU64x64Remainder (1500000, CounterHz, NULL), 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Generates a 16-bit random number.
|
||||||
|
|
||||||
|
if Rand is NULL, then ASSERT().
|
||||||
|
|
||||||
|
@param[out] Rand Buffer pointer to store the 16-bit random value.
|
||||||
|
|
||||||
|
@retval TRUE Random number generated successfully.
|
||||||
|
@retval FALSE Failed to generate the random number.
|
||||||
|
|
||||||
|
**/
|
||||||
|
BOOLEAN
|
||||||
|
EFIAPI
|
||||||
|
GetRandomNumber16 (
|
||||||
|
OUT UINT16 *Rand
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UINT32 Index;
|
||||||
|
UINT8 *RandPtr;
|
||||||
|
UINT32 DelayInMicroSeconds;
|
||||||
|
|
||||||
|
ASSERT (Rand != NULL);
|
||||||
|
|
||||||
|
if (Rand == NULL) {
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
DelayInMicroSeconds = CalculateMinimumDecentDelayInMicroseconds ();
|
||||||
|
RandPtr = (UINT8 *)Rand;
|
||||||
|
// Get 2 bytes of random ish data
|
||||||
|
for (Index = 0; Index < sizeof (UINT16); Index++) {
|
||||||
|
*RandPtr = (UINT8)(GetPerformanceCounter () & 0xFF);
|
||||||
|
// Delay to give the performance counter a chance to change
|
||||||
|
MicroSecondDelay (DelayInMicroSeconds);
|
||||||
|
RandPtr++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Generates a 32-bit random number.
|
||||||
|
|
||||||
|
if Rand is NULL, then ASSERT().
|
||||||
|
|
||||||
|
@param[out] Rand Buffer pointer to store the 32-bit random value.
|
||||||
|
|
||||||
|
@retval TRUE Random number generated successfully.
|
||||||
|
@retval FALSE Failed to generate the random number.
|
||||||
|
|
||||||
|
**/
|
||||||
|
BOOLEAN
|
||||||
|
EFIAPI
|
||||||
|
GetRandomNumber32 (
|
||||||
|
OUT UINT32 *Rand
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UINT32 Index;
|
||||||
|
UINT8 *RandPtr;
|
||||||
|
UINT32 DelayInMicroSeconds;
|
||||||
|
|
||||||
|
ASSERT (Rand != NULL);
|
||||||
|
|
||||||
|
if (NULL == Rand) {
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
RandPtr = (UINT8 *)Rand;
|
||||||
|
DelayInMicroSeconds = CalculateMinimumDecentDelayInMicroseconds ();
|
||||||
|
// Get 4 bytes of random ish data
|
||||||
|
for (Index = 0; Index < sizeof (UINT32); Index++) {
|
||||||
|
*RandPtr = (UINT8)(GetPerformanceCounter () & 0xFF);
|
||||||
|
// Delay to give the performance counter a chance to change
|
||||||
|
MicroSecondDelay (DelayInMicroSeconds);
|
||||||
|
RandPtr++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Generates a 64-bit random number.
|
||||||
|
|
||||||
|
if Rand is NULL, then ASSERT().
|
||||||
|
|
||||||
|
@param[out] Rand Buffer pointer to store the 64-bit random value.
|
||||||
|
|
||||||
|
@retval TRUE Random number generated successfully.
|
||||||
|
@retval FALSE Failed to generate the random number.
|
||||||
|
|
||||||
|
**/
|
||||||
|
BOOLEAN
|
||||||
|
EFIAPI
|
||||||
|
GetRandomNumber64 (
|
||||||
|
OUT UINT64 *Rand
|
||||||
|
)
|
||||||
|
{
|
||||||
|
UINT32 Index;
|
||||||
|
UINT8 *RandPtr;
|
||||||
|
UINT32 DelayInMicroSeconds;
|
||||||
|
|
||||||
|
ASSERT (Rand != NULL);
|
||||||
|
|
||||||
|
if (NULL == Rand) {
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
RandPtr = (UINT8 *)Rand;
|
||||||
|
DelayInMicroSeconds = CalculateMinimumDecentDelayInMicroseconds ();
|
||||||
|
// Get 8 bytes of random ish data
|
||||||
|
for (Index = 0; Index < sizeof (UINT64); Index++) {
|
||||||
|
*RandPtr = (UINT8)(GetPerformanceCounter () & 0xFF);
|
||||||
|
// Delay to give the performance counter a chance to change
|
||||||
|
MicroSecondDelay (DelayInMicroSeconds);
|
||||||
|
RandPtr++;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Generates a 128-bit random number.
|
||||||
|
|
||||||
|
if Rand is NULL, then ASSERT().
|
||||||
|
|
||||||
|
@param[out] Rand Buffer pointer to store the 128-bit random value.
|
||||||
|
|
||||||
|
@retval TRUE Random number generated successfully.
|
||||||
|
@retval FALSE Failed to generate the random number.
|
||||||
|
|
||||||
|
**/
|
||||||
|
BOOLEAN
|
||||||
|
EFIAPI
|
||||||
|
GetRandomNumber128 (
|
||||||
|
OUT UINT64 *Rand
|
||||||
|
)
|
||||||
|
{
|
||||||
|
ASSERT (Rand != NULL);
|
||||||
|
// This should take around 80ms
|
||||||
|
|
||||||
|
// Read first 64 bits
|
||||||
|
if (!GetRandomNumber64 (Rand)) {
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Read second 64 bits
|
||||||
|
return GetRandomNumber64 (++Rand);
|
||||||
|
}
|
|
@ -345,6 +345,7 @@
|
||||||
MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
|
MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
|
||||||
MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdateProgressLibGraphics.inf
|
MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdateProgressLibGraphics.inf
|
||||||
MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpdateProgressLibText.inf
|
MdeModulePkg/Library/DisplayUpdateProgressLibText/DisplayUpdateProgressLibText.inf
|
||||||
|
MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||||||
|
|
||||||
MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
|
MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
|
||||||
MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf
|
MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf
|
||||||
|
|
|
@ -82,10 +82,10 @@
|
||||||
ArmSoftFloatLib|ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf
|
ArmSoftFloatLib|ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf
|
||||||
|
|
||||||
[LibraryClasses.ARM]
|
[LibraryClasses.ARM]
|
||||||
RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||||||
|
|
||||||
[LibraryClasses.RISCV64]
|
[LibraryClasses.RISCV64]
|
||||||
RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||||||
|
|
||||||
[PcdsFeatureFlag]
|
[PcdsFeatureFlag]
|
||||||
gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE
|
gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE
|
||||||
|
|
|
@ -185,7 +185,7 @@
|
||||||
|
|
||||||
IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
|
IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
|
||||||
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
||||||
RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||||||
|
|
||||||
AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
|
AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
|
||||||
VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
|
VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
|
||||||
|
|
|
@ -196,7 +196,7 @@
|
||||||
!else
|
!else
|
||||||
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
||||||
!endif
|
!endif
|
||||||
RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||||||
|
|
||||||
!if $(SECURE_BOOT_ENABLE) == TRUE
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
||||||
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
||||||
|
|
|
@ -206,7 +206,7 @@
|
||||||
!else
|
!else
|
||||||
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
||||||
!endif
|
!endif
|
||||||
RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||||||
|
|
||||||
!if $(SECURE_BOOT_ENABLE) == TRUE
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
||||||
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
||||||
|
|
|
@ -184,7 +184,7 @@
|
||||||
|
|
||||||
IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
|
IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
|
||||||
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
||||||
RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||||||
|
|
||||||
!if $(SECURE_BOOT_ENABLE) == TRUE
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
||||||
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
||||||
|
|
|
@ -203,7 +203,7 @@
|
||||||
!else
|
!else
|
||||||
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
||||||
!endif
|
!endif
|
||||||
RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||||||
|
|
||||||
!if $(SECURE_BOOT_ENABLE) == TRUE
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
||||||
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
||||||
|
|
|
@ -210,7 +210,7 @@
|
||||||
!else
|
!else
|
||||||
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
||||||
!endif
|
!endif
|
||||||
RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||||||
|
|
||||||
!if $(SECURE_BOOT_ENABLE) == TRUE
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
||||||
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
||||||
|
|
|
@ -215,7 +215,7 @@
|
||||||
!else
|
!else
|
||||||
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
||||||
!endif
|
!endif
|
||||||
RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||||||
|
|
||||||
!if $(SECURE_BOOT_ENABLE) == TRUE
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
||||||
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
||||||
|
|
|
@ -231,7 +231,7 @@
|
||||||
!else
|
!else
|
||||||
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
||||||
!endif
|
!endif
|
||||||
RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||||||
|
|
||||||
!if $(SECURE_BOOT_ENABLE) == TRUE
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
||||||
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
|
||||||
|
|
|
@ -194,7 +194,7 @@
|
||||||
!else
|
!else
|
||||||
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
||||||
!endif
|
!endif
|
||||||
RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||||||
|
|
||||||
AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
|
AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
|
||||||
VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
|
VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
|
||||||
|
|
|
@ -118,7 +118,7 @@
|
||||||
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
||||||
!endif
|
!endif
|
||||||
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
|
||||||
RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||||||
|
|
||||||
#
|
#
|
||||||
# Secure Boot dependencies
|
# Secure Boot dependencies
|
||||||
|
|
|
@ -92,10 +92,10 @@
|
||||||
ArmTrngLib|MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.inf
|
ArmTrngLib|MdePkg/Library/BaseArmTrngLibNull/BaseArmTrngLibNull.inf
|
||||||
|
|
||||||
[LibraryClasses.ARM]
|
[LibraryClasses.ARM]
|
||||||
RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||||||
|
|
||||||
[LibraryClasses.RISCV64]
|
[LibraryClasses.RISCV64]
|
||||||
RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||||||
|
|
||||||
[LibraryClasses.X64.SEC]
|
[LibraryClasses.X64.SEC]
|
||||||
HashLib|SecurityPkg/Library/HashLibTdx/HashLibTdx.inf
|
HashLib|SecurityPkg/Library/HashLibTdx/HashLibTdx.inf
|
||||||
|
|
|
@ -110,10 +110,10 @@
|
||||||
NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
|
NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
|
||||||
|
|
||||||
[LibraryClasses.ARM]
|
[LibraryClasses.ARM]
|
||||||
RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||||||
|
|
||||||
[LibraryClasses.RISCV64]
|
[LibraryClasses.RISCV64]
|
||||||
RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
RngLib|MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||||||
|
|
||||||
[LibraryClasses.common.PEI_CORE]
|
[LibraryClasses.common.PEI_CORE]
|
||||||
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
|
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
|
||||||
|
|
Loading…
Reference in New Issue