On Fri, 14 Dec 2018 at 13:14, Jagadeesh Ujja <[email protected]> wrote: > > “BaseCryptLib” library can be used by MM_STANDALONE drivers as well. > So add MM_STANDALONE as the module type this library supports. >
This patch affects other drivers as well. Also, shouldn't we be using SmmCryptLib for MM_STANDALONE? The MODULE_TYPE of SmmCryptLib can be changed to BASE since it doesn't have a constructor. I think that should also address your time() issue, no? > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Jagadeesh Ujja <[email protected]> > --- > CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf | 7 ++++++- > CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf | 4 ++++ > CryptoPkg/Library/BaseCryptLib/SysCall/TimerWrapper.c | 15 +++++++++------ > 3 files changed, 19 insertions(+), 7 deletions(-) > > diff --git a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf > b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf > index f29445c..b6ebac5 100644 > --- a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf > +++ b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf > @@ -7,6 +7,7 @@ > # buffer overflow or integer overflow. > # > # Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR> > +# Copyright (c) 2018, ARM Limited. All rights reserved.<BR> > # This program and the accompanying materials > # are licensed and made available under the terms and conditions of the BSD > License > # which accompanies this distribution. The full text of the license may be > found at > @@ -24,7 +25,7 @@ > FILE_GUID = be3bb803-91b6-4da0-bd91-a8b21c18ca5d > MODULE_TYPE = DXE_DRIVER > VERSION_STRING = 1.0 > - LIBRARY_CLASS = BaseCryptLib|DXE_DRIVER DXE_CORE > UEFI_APPLICATION UEFI_DRIVER > + LIBRARY_CLASS = BaseCryptLib|DXE_DRIVER DXE_CORE > UEFI_APPLICATION UEFI_DRIVER MM_STANDALONE > > # > # The following information is for reference only and not required by the > build tools. > @@ -85,6 +86,10 @@ > OpensslLib > IntrinsicLib > PrintLib > + PcdLib > + > +[Pcd] > + gEfiMdePkgTokenSpaceGuid.PcdStandaloneMmCodeEnabled > > # > # Remove these [BuildOptions] after this library is cleaned up > diff --git a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf > b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf > index 32628c8..fb16451 100644 > --- a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf > +++ b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf > @@ -91,6 +91,10 @@ > OpensslLib > IntrinsicLib > PrintLib > + PcdLib > + > +[Pcd] > + gEfiMdePkgTokenSpaceGuid.PcdStandaloneMmCodeEnabled > > # > # Remove these [BuildOptions] after this library is cleaned up > diff --git a/CryptoPkg/Library/BaseCryptLib/SysCall/TimerWrapper.c > b/CryptoPkg/Library/BaseCryptLib/SysCall/TimerWrapper.c > index 5f9b0c2..de8e756 100644 > --- a/CryptoPkg/Library/BaseCryptLib/SysCall/TimerWrapper.c > +++ b/CryptoPkg/Library/BaseCryptLib/SysCall/TimerWrapper.c > @@ -3,6 +3,7 @@ > for OpenSSL-based Cryptographic Library (used in DXE & RUNTIME). > > Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR> > +Copyright (c) 2018, ARM Limited. All rights reserved.<BR> > This program and the accompanying materials > are licensed and made available under the terms and conditions of the BSD > License > which accompanies this distribution. The full text of the license may be > found at > @@ -77,12 +78,14 @@ time_t time (time_t *timer) > time_t CalTime; > UINTN Year; > > - // > - // Get the current time and date information > - // > - Status = gRT->GetTime (&Time, NULL); > - if (EFI_ERROR (Status) || (Time.Year < 1970)) { > - return 0; > + if (!PcdGetBool (PcdStandaloneMmCodeEnabled)) { > + // > + // Get the current time and date information > + // > + Status = gRT->GetTime (&Time, NULL); > + if (EFI_ERROR (Status) || (Time.Year < 1970)) { > + return 0; > + } > } > > // > -- > 2.7.4 > _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

