summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSami Mujawar <sami.mujawar@arm.com>2020-12-03 12:30:25 +0000
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2021-01-07 11:13:39 +0000
commitda29388b5343a2e5e7af3bf4e5de6bbf3a06f218 (patch)
tree79a5ba2b9204ee3bf00cd36fe949cd0af5e530b7
parent55ec21db573b2fb622d4584c0e458d57dbf8554f (diff)
downloadedk2-da29388b5343a2e5e7af3bf4e5de6bbf3a06f218.tar.gz
edk2-da29388b5343a2e5e7af3bf4e5de6bbf3a06f218.tar.bz2
edk2-da29388b5343a2e5e7af3bf4e5de6bbf3a06f218.zip
StandaloneMmPkg: Fix spell check reported errors
Bugzilla: 3150 (https://bugzilla.tianocore.org/show_bug.cgi?id=3150) Fix the spelling mistakes reported by the spell check utility that is run as part of the Core CI. Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Acked-by: Jiewen Yao <Jiewen.yao@intel.com> Acked-by: Ard Biesheuvel <ard.biesheuvel@arm.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
-rw-r--r--StandaloneMmPkg/Core/Dependency.c6
-rw-r--r--StandaloneMmPkg/Core/Dispatcher.c33
-rw-r--r--StandaloneMmPkg/Core/Locate.c6
-rw-r--r--StandaloneMmPkg/Core/Mmi.c4
-rw-r--r--StandaloneMmPkg/Core/StandaloneMmCore.c8
-rw-r--r--StandaloneMmPkg/Core/StandaloneMmCore.h12
-rw-r--r--StandaloneMmPkg/Include/Guid/MmCoreData.h6
-rw-r--r--StandaloneMmPkg/Include/Library/StandaloneMmDriverEntryPoint.h4
-rw-r--r--StandaloneMmPkg/Include/Library/StandaloneMmMemLib.h6
-rw-r--r--StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.inf4
-rw-r--r--StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.c6
-rw-r--r--StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.c4
-rw-r--r--StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf4
13 files changed, 52 insertions, 51 deletions
diff --git a/StandaloneMmPkg/Core/Dependency.c b/StandaloneMmPkg/Core/Dependency.c
index e0f2d35183..eb4baa4086 100644
--- a/StandaloneMmPkg/Core/Dependency.c
+++ b/StandaloneMmPkg/Core/Dependency.c
@@ -3,10 +3,10 @@
This routine evaluates a dependency expression (DEPENDENCY_EXPRESSION) to determine
if a driver can be scheduled for execution. The criteria for
- schedulability is that the dependency expression is satisfied.
+ scheduling is that the dependency expression is satisfied.
Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
- Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
+ Copyright (c) 2016 - 2021, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -193,7 +193,7 @@ MmIsSchedulable (
if (DriverEntry->Depex == NULL) {
//
// A NULL Depex means that the MM driver is not built correctly.
- // All MM drivers must have a valid depex expressiion.
+ // All MM drivers must have a valid depex expression.
//
DEBUG ((DEBUG_DISPATCH, " RESULT = FALSE (Depex is empty)\n"));
ASSERT (FALSE);
diff --git a/StandaloneMmPkg/Core/Dispatcher.c b/StandaloneMmPkg/Core/Dispatcher.c
index c99e6c04c8..0cc70db1ce 100644
--- a/StandaloneMmPkg/Core/Dispatcher.c
+++ b/StandaloneMmPkg/Core/Dispatcher.c
@@ -15,9 +15,10 @@
Step #3 - Adding to the mScheduledQueue requires that you process Before
and After dependencies. This is done recursively as the call to add
- to the mScheduledQueue checks for Before and recursively adds
- all Befores. It then addes the item that was passed in and then
- processess the After dependecies by recursively calling the routine.
+ to the mScheduledQueue checks for Before Depexes and recursively
+ adds all Before Depexes. It then adds the item that was passed in
+ and then processess the After dependencies by recursively calling
+ the routine.
Dispatcher Rules:
The rules for the dispatcher are similar to the DXE dispatcher.
@@ -29,7 +30,7 @@
Copyright (c) 2014, Hewlett-Packard Development Company, L.P.
Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
- Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
+ Copyright (c) 2016 - 2021, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -60,8 +61,8 @@ MmCoreFfsFindMmDriver (
/**
Insert InsertedDriverEntry onto the mScheduledQueue. To do this you
must add any driver with a before dependency on InsertedDriverEntry first.
- You do this by recursively calling this routine. After all the Befores are
- processed you can add InsertedDriverEntry to the mScheduledQueue.
+ You do this by recursively calling this routine. After all the Before Depexes
+ are processed you can add InsertedDriverEntry to the mScheduledQueue.
Then you can add any driver with an After dependency on InsertedDriverEntry
by recursively calling this routine.
@@ -92,7 +93,7 @@ LIST_ENTRY mScheduledQueue = INITIALIZE_LIST_HEAD_VARIABLE (mScheduledQueue);
LIST_ENTRY mFwVolList = INITIALIZE_LIST_HEAD_VARIABLE (mFwVolList);
//
-// Flag for the MM Dispacher. TRUE if dispatcher is execuing.
+// Flag for the MM Dispacher. TRUE if dispatcher is executing.
//
BOOLEAN gDispatcherRunning = FALSE;
@@ -110,7 +111,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED UINT64 *mMmCodeMemoryRangeUsageB
/**
To check memory usage bit map array to figure out if the memory range in which the image will be loaded
- is available or not. If memory range is avaliable, the function will mark the correponding bits to 1
+ is available or not. If memory range is avaliable, the function will mark the corresponding bits to 1
which indicates the memory range is used. The function is only invoked when load modules at fixed address
feature is enabled.
@@ -163,7 +164,7 @@ CheckAndMarkFixLoadingMemoryUsageBitMap (
}
//
- // Test if the memory is avalaible or not.
+ // Test if the memory is available or not.
//
BaseOffsetPageNumber = (UINTN)EFI_SIZE_TO_PAGES ((UINT32)(ImageBase - MmCodeBase));
TopOffsetPageNumber = (UINTN)EFI_SIZE_TO_PAGES ((UINT32)(ImageBase + ImageSize - MmCodeBase));
@@ -328,7 +329,7 @@ MmLoadImage (
ImageContext.ImageAddress = (EFI_PHYSICAL_ADDRESS)DstBuffer;
//
- // Align buffer on section boundry
+ // Align buffer on section boundary
//
ImageContext.ImageAddress += ImageContext.SectionAlignment - 1;
ImageContext.ImageAddress &= ~((EFI_PHYSICAL_ADDRESS)(ImageContext.SectionAlignment - 1));
@@ -604,7 +605,7 @@ MmDispatcher (
//
// Load the MM Driver image into memory. If the Driver was transitioned from
- // Untrused to Scheduled it would have already been loaded so we may need to
+ // Untrusted to Scheduled it would have already been loaded so we may need to
// skip the LoadImage
//
if (DriverEntry->ImageHandle == NULL) {
@@ -703,8 +704,8 @@ MmDispatcher (
/**
Insert InsertedDriverEntry onto the mScheduledQueue. To do this you
must add any driver with a before dependency on InsertedDriverEntry first.
- You do this by recursively calling this routine. After all the Befores are
- processed you can add InsertedDriverEntry to the mScheduledQueue.
+ You do this by recursively calling this routine. After all the Before Depexes
+ are processed you can add InsertedDriverEntry to the mScheduledQueue.
Then you can add any driver with an After dependency on InsertedDriverEntry
by recursively calling this routine.
@@ -828,9 +829,9 @@ FvIsBeingProcessed (
/**
Add an entry to the mDiscoveredList. Allocate memory to store the DriverEntry,
- and initilize any state variables. Read the Depex from the FV and store it
+ and initialise any state variables. Read the Depex from the FV and store it
in DriverEntry. Pre-process the Depex to set the Before and After state.
- The Discovered list is never free'ed and contains booleans that represent the
+ The Discovered list is never freed and contains booleans that represent the
other possible MM driver states.
@param Fv Fv protocol, needed to read Depex info out of
@@ -885,7 +886,7 @@ MmAddToDriverList (
/**
Traverse the discovered list for any drivers that were discovered but not loaded
- because the dependency experessions evaluated to false.
+ because the dependency expressions evaluated to false.
**/
VOID
diff --git a/StandaloneMmPkg/Core/Locate.c b/StandaloneMmPkg/Core/Locate.c
index 00e395eca6..95c40ca7be 100644
--- a/StandaloneMmPkg/Core/Locate.c
+++ b/StandaloneMmPkg/Core/Locate.c
@@ -2,7 +2,7 @@
Locate handle functions
Copyright (c) 2009 - 2017, Intel Corporation. All rights reserved.<BR>
- Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
+ Copyright (c) 2016 - 2021, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -173,8 +173,8 @@ MmGetNextLocateByProtocol (
/**
Return the first Protocol Interface that matches the Protocol GUID. If
- Registration is pasased in return a Protocol Instance that was just add
- to the system. If Retistration is NULL return the first Protocol Interface
+ Registration is passed in return a Protocol Instance that was just add
+ to the system. If Registration is NULL return the first Protocol Interface
you find.
@param Protocol The protocol to search for
diff --git a/StandaloneMmPkg/Core/Mmi.c b/StandaloneMmPkg/Core/Mmi.c
index 5ed2295ff3..fed8480020 100644
--- a/StandaloneMmPkg/Core/Mmi.c
+++ b/StandaloneMmPkg/Core/Mmi.c
@@ -2,7 +2,7 @@
MMI management.
Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>
- Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
+ Copyright (c) 2016 - 2021, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -220,7 +220,7 @@ MmiManage (
/**
Registers a handler to execute within MM.
- @param Handler Handler service funtion pointer.
+ @param Handler Handler service function pointer.
@param HandlerType Points to the handler type or NULL for root MMI handlers.
@param DispatchHandle On return, contains a unique handle which can be used to later unregister the handler function.
diff --git a/StandaloneMmPkg/Core/StandaloneMmCore.c b/StandaloneMmPkg/Core/StandaloneMmCore.c
index ac3e2c0b1b..0ea6b3a7ad 100644
--- a/StandaloneMmPkg/Core/StandaloneMmCore.c
+++ b/StandaloneMmPkg/Core/StandaloneMmCore.c
@@ -2,7 +2,7 @@
MM Core Main Entry Point
Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
- Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
+ Copyright (c) 2016 - 2021, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -590,9 +590,9 @@ StandaloneMmMain (
//
// No need to initialize memory service.
- // It is done in constructor of StandaloneMmCoreMemoryAllocationLib(),
- // so that the library linked with StandaloneMmCore can use AllocatePool() in constuctor.
- //
+ // It is done in the constructor of StandaloneMmCoreMemoryAllocationLib(),
+ // so that the library linked with StandaloneMmCore can use AllocatePool() in
+ // the constructor.
DEBUG ((DEBUG_INFO, "MmInstallConfigurationTable For HobList\n"));
//
diff --git a/StandaloneMmPkg/Core/StandaloneMmCore.h b/StandaloneMmPkg/Core/StandaloneMmCore.h
index 96c195311a..2a89edd0fc 100644
--- a/StandaloneMmPkg/Core/StandaloneMmCore.h
+++ b/StandaloneMmPkg/Core/StandaloneMmCore.h
@@ -3,7 +3,7 @@
internal structure and functions used by MmCore module.
Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
- Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
+ Copyright (c) 2016 - 2021, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -131,7 +131,7 @@ typedef struct {
EFI_GUID ProtocolID;
/// All protocol interfaces
LIST_ENTRY Protocols;
- /// Registerd notification handlers
+ /// Registered notification handlers
LIST_ENTRY Notify;
} PROTOCOL_ENTRY;
@@ -516,8 +516,8 @@ MmLocateHandle (
/**
Return the first Protocol Interface that matches the Protocol GUID. If
- Registration is pasased in return a Protocol Instance that was just add
- to the system. If Retistration is NULL return the first Protocol Interface
+ Registration is passed in return a Protocol Instance that was just add
+ to the system. If Registration is NULL return the first Protocol Interface
you find.
@param Protocol The protocol to search for
@@ -564,7 +564,7 @@ MmiManage (
/**
Registers a handler to execute within MM.
- @param Handler Handler service funtion pointer.
+ @param Handler Handler service function pointer.
@param HandlerType Points to the handler type or NULL for root MMI handlers.
@param DispatchHandle On return, contains a unique handle which can be used to later unregister the handler function.
@@ -728,7 +728,7 @@ MmEfiNotAvailableYetArg5 (
);
//
-//Functions used during debug buils
+//Functions used during debug builds
//
/**
diff --git a/StandaloneMmPkg/Include/Guid/MmCoreData.h b/StandaloneMmPkg/Include/Guid/MmCoreData.h
index 8bd80e0519..f112a752c3 100644
--- a/StandaloneMmPkg/Include/Guid/MmCoreData.h
+++ b/StandaloneMmPkg/Include/Guid/MmCoreData.h
@@ -2,7 +2,7 @@
MM Core data.
Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
-Copyright (c) 2018, ARM Limited. All rights reserved.<BR>
+Copyright (c) 2018 - 2021, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
@@ -98,14 +98,14 @@ typedef struct {
EFI_PHYSICAL_ADDRESS Mmst;
///
- /// This field is used by the MM Communicatioon Protocol to pass a buffer into
+ /// This field is used by the MM Communication Protocol to pass a buffer into
/// a software MMI handler and for the software MMI handler to pass a buffer back to
/// the caller of the MM Communication Protocol.
///
EFI_PHYSICAL_ADDRESS CommunicationBuffer;
///
- /// This field is used by the MM Communicatioon Protocol to pass the size of a buffer,
+ /// This field is used by the MM Communication Protocol to pass the size of a buffer,
/// in bytes, into a software MMI handler and for the software MMI handler to pass the
/// size, in bytes, of a buffer back to the caller of the MM Communication Protocol.
///
diff --git a/StandaloneMmPkg/Include/Library/StandaloneMmDriverEntryPoint.h b/StandaloneMmPkg/Include/Library/StandaloneMmDriverEntryPoint.h
index c83212b405..b72b64704d 100644
--- a/StandaloneMmPkg/Include/Library/StandaloneMmDriverEntryPoint.h
+++ b/StandaloneMmPkg/Include/Library/StandaloneMmDriverEntryPoint.h
@@ -2,7 +2,7 @@
Module entry point library for Standalone MM Drivers.
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
-Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
+Copyright (c) 2016 - 2021, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -29,7 +29,7 @@ extern CONST UINT32 _gMmRevision;
than zero, then an unload handler must be registered for this image and
the unload handler must invoke ProcessModuleUnloadList().
If _gUefiDriverRevision is not zero and SystemTable->Hdr.Revision is
- less than _gUefiDriverRevison, then return EFI_INCOMPATIBLE_VERSION.
+ less than _gUefiDriverRevision, then return EFI_INCOMPATIBLE_VERSION.
@param ImageHandle The image handle of the Standalone MM Driver.
@param SystemTable A pointer to the EFI System Table.
diff --git a/StandaloneMmPkg/Include/Library/StandaloneMmMemLib.h b/StandaloneMmPkg/Include/Library/StandaloneMmMemLib.h
index baa6fe9981..9c48995fd7 100644
--- a/StandaloneMmPkg/Include/Library/StandaloneMmMemLib.h
+++ b/StandaloneMmPkg/Include/Library/StandaloneMmMemLib.h
@@ -6,7 +6,7 @@
from non-MMRAM to non-MMRAM, or set data in non-MMRAM.
Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
- Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
+ Copyright (c) 2016 - 2021, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -69,7 +69,7 @@ MmCopyMemToMmram (
@param SourceBuffer The pointer to the source buffer of the memory copy.
@param Length The number of bytes to copy from SourceBuffer to DestinationBuffer.
- @retval EFI_SECURITY_VIOLATION The DesinationBuffer is invalid per processor architecture or overlap with MMRAM.
+ @retval EFI_SECURITY_VIOLATION The DestinationBuffer is invalid per processor architecture or overlap with MMRAM.
@retval EFI_SUCCESS Memory is copied.
**/
@@ -94,7 +94,7 @@ MmCopyMemFromMmram (
@param SourceBuffer The pointer to the source buffer of the memory copy.
@param Length The number of bytes to copy from SourceBuffer to DestinationBuffer.
- @retval EFI_SECURITY_VIOLATION The DesinationBuffer is invalid per processor architecture or overlap with MMRAM.
+ @retval EFI_SECURITY_VIOLATION The DestinationBuffer is invalid per processor architecture or overlap with MMRAM.
@retval EFI_SECURITY_VIOLATION The SourceBuffer is invalid per processor architecture or overlap with MMRAM.
@retval EFI_SUCCESS Memory is copied.
diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.inf b/StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.inf
index 3fa08f2c65..bf7530bb74 100644
--- a/StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.inf
+++ b/StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.inf
@@ -1,11 +1,11 @@
## @file
# Memory Allocation Library instance dedicated to MM Core.
# The implementation borrows the MM Core Memory Allocation services as the primitive
-# for memory allocation instead of using MM System Table servces in an indirect way.
+# for memory allocation instead of using MM System Table services in an indirect way.
# It is assumed that this library instance must be linked with MM Core in this package.
#
# Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
-# Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
+# Copyright (c) 2016 - 2021, Arm Limited. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
diff --git a/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.c b/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.c
index f82cdb3ba8..f0015f8dff 100644
--- a/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.c
+++ b/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.c
@@ -7,7 +7,7 @@
and MM driver) and/or specific dedicated hardware.
Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
- Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
+ Copyright (c) 2016 - 2021, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -145,7 +145,7 @@ MmCopyMemToMmram (
@param SourceBuffer The pointer to the source buffer of the memory copy.
@param Length The number of bytes to copy from SourceBuffer to DestinationBuffer.
- @retval EFI_SECURITY_VIOLATION The DesinationBuffer is invalid per processor architecture or overlap with MMRAM.
+ @retval EFI_SECURITY_VIOLATION The DestinationBuffer is invalid per processor architecture or overlap with MMRAM.
@retval EFI_SUCCESS Memory is copied.
**/
@@ -179,7 +179,7 @@ MmCopyMemFromMmram (
@param SourceBuffer The pointer to the source buffer of the memory copy.
@param Length The number of bytes to copy from SourceBuffer to DestinationBuffer.
- @retval EFI_SECURITY_VIOLATION The DesinationBuffer is invalid per processor architecture or overlap with MMRAM.
+ @retval EFI_SECURITY_VIOLATION The DestinationBuffer is invalid per processor architecture or overlap with MMRAM.
@retval EFI_SECURITY_VIOLATION The SourceBuffer is invalid per processor architecture or overlap with MMRAM.
@retval EFI_SUCCESS Memory is copied.
diff --git a/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.c b/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.c
index 1fef0a93b7..9ab7b106da 100644
--- a/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.c
+++ b/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.c
@@ -1,10 +1,10 @@
/** @file
- Runtime DXE part corresponding to StanaloneMM variable module.
+ Runtime DXE part corresponding to StandaloneMM variable module.
This module installs variable arch protocol and variable write arch protocol
to StandaloneMM runtime variable service.
-Copyright (c) 2019, ARM Ltd. All rights reserved.
+Copyright (c) 2019 - 2021, Arm Ltd. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
diff --git a/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf b/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf
index 34adce6f39..a2a059c5d6 100644
--- a/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf
+++ b/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf
@@ -1,10 +1,10 @@
## @file
-# Runtime DXE part corresponding to StanaloneMM variable module.
+# Runtime DXE part corresponding to StandaloneMM variable module.
#
# This module installs variable arch protocol and variable write arch protocol
# to StandaloneMM runtime variable service.
#
-# Copyright (c) 2019, ARM Ltd. All rights reserved.
+# Copyright (c) 2019 - 2021, Arm Ltd. All rights reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##