Forget the previous comment, multiple comments for usage are allowed in INF.
Reviewed-by: Jian J Wang <jian.j.w...@intel.com> > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Wang, > Jian J > Sent: Thursday, January 10, 2019 9:42 AM > To: Ard Biesheuvel <ard.biesheu...@linaro.org>; edk2-devel@lists.01.org > Cc: Wu, Hao A <hao.a...@intel.com>; Gao, Liming <liming....@intel.com>; > Kinney, Michael D <michael.d.kin...@intel.com>; Laszlo Ersek > <ler...@redhat.com> > Subject: Re: [edk2] [PATCH 4/6] MdeModulePkg/FaultTolerantWriteDxe: > implement standalone MM version > > Ard, > > > Regards, > Jian > > > > -----Original Message----- > > From: Ard Biesheuvel [mailto:ard.biesheu...@linaro.org] > > Sent: Friday, January 04, 2019 2:28 AM > > To: edk2-devel@lists.01.org > > Cc: Ard Biesheuvel <ard.biesheu...@linaro.org>; Laszlo Ersek > > <ler...@redhat.com>; Leif Lindholm <leif.lindh...@linaro.org>; Kinney, > > Michael D <michael.d.kin...@intel.com>; Gao, Liming > <liming....@intel.com>; > > Wang, Jian J <jian.j.w...@intel.com>; Wu, Hao A <hao.a...@intel.com>; > > Jagadeesh Ujja <jagadeesh.u...@arm.com>; Achin Gupta > > <achin.gu...@arm.com>; Thomas Panakamattam Abraham > > <thomas.abra...@arm.com>; Sami Mujawar <sami.muja...@arm.com> > > Subject: [PATCH 4/6] MdeModulePkg/FaultTolerantWriteDxe: implement > > standalone MM version > > > > Implement a new version of the fault tolerant write driver that can > > be used in the context of a standalone MM implementation. > > > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org> > > --- > > > > > MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteStandalon > > eMm.c | 70 +++++++++++++++ > > > > > MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteStandalon > > eMm.inf | 90 ++++++++++++++++++++ > > 2 files changed, 160 insertions(+) > > > > diff --git > > > a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteStandal > > oneMm.c > > > b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteStandal > > oneMm.c > > new file mode 100644 > > index 000000000000..b6fbf6c64f8a > > --- /dev/null > > +++ > > > b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteStandal > > oneMm.c > > @@ -0,0 +1,70 @@ > > +/** @file > > + > > + Parts of the SMM/MM implementation that are specific to standalone MM > > + > > +Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR> > > +Copyright (c) 2018, Linaro, Ltd. 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 > > +http://opensource.org/licenses/bsd-license.php > > + > > +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" > BASIS, > > +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER > EXPRESS > > OR IMPLIED. > > + > > +**/ > > + > > +#include <Library/SmmMemLib.h> > > +#include <Library/UefiBootServicesTableLib.h> > > +#include "FaultTolerantWrite.h" > > +#include "FaultTolerantWriteSmmCommon.h" > > + > > +BOOLEAN > > +FtwSmmIsBufferOutsideSmmValid ( > > + IN EFI_PHYSICAL_ADDRESS Buffer, > > + IN UINT64 Length > > + ) > > +{ > > + return TRUE; > > +} > > + > > +/** > > + Internal implementation of CRC32. Depending on the execution context > > + (standalone SMM or DXE vs standalone MM), this function is implemented > > + via a call to the CalculateCrc32 () boot service, or via a library > > + call. > > + > > + If Buffer is NULL, then ASSERT(). > > + If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT(). > > + > > + @param[in] Buffer A pointer to the buffer on which the 32-bit CRC > > is to > be > > computed. > > + @param[in] Length The number of bytes in the buffer Data. > > + > > + @retval Crc32 The 32-bit CRC was computed for the data buffer. > > + > > +**/ > > +UINT32 > > +FtwCalculateCrc32 ( > > + IN VOID *Buffer, > > + IN UINTN Length > > + ) > > +{ > > + return CalculateCrc32 (Buffer, Length); > > +} > > + > > +VOID > > +FtwNotifySmmReady ( > > + VOID > > + ) > > +{ > > +} > > + > > +EFI_STATUS > > +EFIAPI > > +StandaloneMmFaultTolerantWriteInitialize ( > > + IN EFI_HANDLE ImageHandle, > > + IN EFI_MM_SYSTEM_TABLE *MmSystemTable > > + ) > > +{ > > + return MmFaultTolerantWriteInitialize (); > > +} > > diff --git > > > a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteStandal > > oneMm.inf > > > b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteStandal > > oneMm.inf > > new file mode 100644 > > index 000000000000..99bd62ad5ceb > > --- /dev/null > > +++ > > > b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteStandal > > oneMm.inf > > @@ -0,0 +1,90 @@ > > + ## @file > > +# Fault Tolerant Write Smm Driver. > > +# > > +# This driver installs SMM Fault Tolerant Write (FTW) protocol, which > provides > > fault > > +# tolerant write capability in SMM environment for block devices. Its > > implementation > > +# depends on the full functionality SMM FVB protocol that support read, > > write/erase > > +# flash access. > > +# > > +# Copyright (c) 2010 - 2018, Intel Corporation. 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 > > +# http://opensource.org/licenses/bsd-license.php > > +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" > > BASIS, > > +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER > > EXPRESS OR IMPLIED. > > +# > > +## > > + > > +[Defines] > > + INF_VERSION = 0x0001001A > > + BASE_NAME = FaultTolerantWriteStandaloneMm > > + FILE_GUID = 3aade4ec-63cc-4a48-a928-5a374dd463eb > > + MODULE_TYPE = MM_STANDALONE > > + VERSION_STRING = 1.0 > > + PI_SPECIFICATION_VERSION = 0x00010032 > > + ENTRY_POINT = StandaloneMmFaultTolerantWriteInitialize > > + > > +# > > +# The following information is for reference only and not required by the > build > > tools. > > +# > > +# VALID_ARCHITECTURES = AARCH64 > > +# > > + > > +[Sources] > > + FtwMisc.c > > + UpdateWorkingBlock.c > > + FaultTolerantWrite.c > > + FaultTolerantWriteStandaloneMm.c > > + FaultTolerantWriteSmm.c > > + FaultTolerantWrite.h > > + FaultTolerantWriteSmmCommon.h > > + > > +[Packages] > > + MdePkg/MdePkg.dec > > + MdeModulePkg/MdeModulePkg.dec > > + StandaloneMmPkg/StandaloneMmPkg.dec > > + > > +[LibraryClasses] > > + BaseLib > > + BaseMemoryLib > > + DebugLib > > + MemoryAllocationLib > > + MmServicesTableLib > > + PcdLib > > + ReportStatusCodeLib > > + StandaloneMmDriverEntryPoint > > + > > +[Guids] > > + # > > + # Signature in EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER > > + # > > + ## CONSUMES ## GUID > > + ## PRODUCES ## GUID > > + gEdkiiWorkingBlockSignatureGuid > > + > > +[Protocols] > > + gEfiSmmSwapAddressRangeProtocolGuid | > > gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable ## > > SOMETIMES_CONSUMES > > + ## NOTIFY > > + ## CONSUMES > > + gEfiSmmFirmwareVolumeBlockProtocolGuid > > + ## PRODUCES > > + ## UNDEFINED # SmiHandlerRegister > > + gEfiSmmFaultTolerantWriteProtocolGuid > > CONSUMES/PRODUCES is normally put in trailing comment. > > > > + gEfiMmEndOfDxeProtocolGuid ## CONSUMES > > + > > +[FeaturePcd] > > + gEfiMdeModulePkgTokenSpaceGuid.PcdFullFtwServiceEnable ## > > CONSUMES > > + > > +[Pcd] > > + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase > ## > > SOMETIMES_CONSUMES > > + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64 > > ## CONSUMES > > + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize > ## > > CONSUMES > > + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase ## > > SOMETIMES_CONSUMES > > + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64 > ## > > CONSUMES > > + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize ## > > CONSUMES > > + > > +[Depex] > > + TRUE > > + > > -- > > 2.17.1 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel