public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg
@ 2020-12-09 18:46 Sami Mujawar
  2020-12-09 18:46 ` [PATCH v1 01/25] StandaloneMmPkg: Add library header files to DEC Sami Mujawar
                   ` (26 more replies)
  0 siblings, 27 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:46 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

The EDKII Core CI runs the ECC tool that checks for good coding
practices and the coding standard. This patch series fixes the
ECC errors reported in the StandaloneMmPkg and enables support
for EDKII Core CI.

The changes can be seen at:
https://github.com/samimujawar/edk2/tree/1516_standalonemmpkg_ci_v1

Sami Mujawar (25):
  StandaloneMmPkg: Add library header files to DEC
  StandaloneMmPkg: Add library files to DSC
  StandaloneMmPkg: Fix spell check reported errors
  StandaloneMmPkg: Fix ECC error 9002 in Core dispatcher
  StandaloneMmPkg: Fix ECC error 1001 in SMM Memory pool management
  StandaloneMmPkg: Fix ECC error 3002 in StandaloneMmCpu
  StandaloneMmPkg: Fix ECC error 4002 in FwVol helper
  StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCoreEntryPoint
  StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCpu
  StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCore
  StandaloneMmPkg: Fix ECC error 10014 in StandaloneMmCpu
  StandaloneMmPkg: Fix ECC error 4002 and 9002 in StandaloneMmCore
  StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCoreEntryPoint
  StandaloneMmPkg: Fix ECC error 9002 in StandaloneMmMemLib
  StandaloneMmPkg: Fix ECC error 9002 in StandaloneMmCoreEntryPoint
  StandaloneMmPkg: Fix ECC error 9003 in StandaloneMmCoreEntryPoint
  StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCpu
  StandaloneMmPkg: Fix ECC error 9001 in StandaloneMmCpu
  StandaloneMmPkg: Fix ECC error 9001 in Standalone MM Core
  StandaloneMmPkg: Fix ECC error 9002 in CoreMemoryAllocationLib
  StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCpu
  StandaloneMmPkg: Fix ECC error 8005 in StandaloneMmCoreEntryPoint
  StandaloneMmPkg: Add EDK2 Core CI support
  .azurepipelines: Add StandaloneMmPkg to CI matrix
  .pytool: CI Settings to support StandaloneMmPkg

 .azurepipelines/templates/pr-gate-build-job.yml                                                     |  2 +-
 .pytool/CISettings.py                                                                               |  1 +
 .pytool/Readme.md                                                                                   |  2 +-
 StandaloneMmPkg/Core/Dependency.c                                                                   |  6 +-
 StandaloneMmPkg/Core/Dispatcher.c                                                                   | 49 ++++++-----
 StandaloneMmPkg/Core/FwVol.c                                                                        | 36 +++++----
 StandaloneMmPkg/Core/Locate.c                                                                       |  6 +-
 StandaloneMmPkg/Core/Mmi.c                                                                          |  4 +-
 StandaloneMmPkg/Core/Pool.c                                                                         |  6 +-
 StandaloneMmPkg/Core/StandaloneMmCore.c                                                             | 37 ++++++---
 StandaloneMmPkg/Core/StandaloneMmCore.h                                                             | 12 +--
 StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c                                       | 56 ++++++++++---
 StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.c                                   | 34 ++++++--
 StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.h                                   | 31 ++++++-
 StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.inf                                 |  9 +--
 StandaloneMmPkg/Include/Guid/MmCoreData.h                                                           |  6 +-
 StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h                                | 47 ++++++-----
 StandaloneMmPkg/Include/Library/StandaloneMmDriverEntryPoint.h                                      |  4 +-
 StandaloneMmPkg/Include/Library/StandaloneMmMemLib.h                                                |  6 +-
 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHobList.c                          |  6 +-
 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermissions.c                         | 53 +++++++++++-
 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c             | 32 +++++---
 StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.c   |  6 +-
 StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.inf |  4 +-
 StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.c                                     | 10 +--
 StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.c                                 |  4 +-
 StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf                               |  4 +-
 StandaloneMmPkg/StandaloneMmPkg.ci.yaml                                                             | 85 ++++++++++++++++++++
 StandaloneMmPkg/StandaloneMmPkg.dec                                                                 | 20 ++++-
 StandaloneMmPkg/StandaloneMmPkg.dsc                                                                 | 15 +++-
 30 files changed, 439 insertions(+), 154 deletions(-)
 create mode 100644 StandaloneMmPkg/StandaloneMmPkg.ci.yaml

-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply	[flat|nested] 34+ messages in thread

* [PATCH v1 01/25] StandaloneMmPkg: Add library header files to DEC
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
@ 2020-12-09 18:46 ` Sami Mujawar
  2020-12-09 18:46 ` [PATCH v1 02/25] StandaloneMmPkg: Add library files to DSC Sami Mujawar
                   ` (25 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:46 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Declare the library header files in the package DEC file to
fix errors reported by Core CI.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/StandaloneMmPkg.dec | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/StandaloneMmPkg/StandaloneMmPkg.dec b/StandaloneMmPkg/StandaloneMmPkg.dec
index 82cb62568b5356091c263751e19846a64d0f3dcc..2514feab62e4264d400e922873b1ba3a48e00036 100644
--- a/StandaloneMmPkg/StandaloneMmPkg.dec
+++ b/StandaloneMmPkg/StandaloneMmPkg.dec
@@ -2,7 +2,7 @@
 # This package is a platform package that provide platform module/library
 # required by Standalone MM platform.
 #
-# Copyright (c) 2016-2018, ARM Ltd. All rights reserved.<BR>
+# Copyright (c) 2016-2020, Arm Ltd. All rights reserved.<BR>
 #
 # SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -19,6 +19,24 @@ [Includes]
 
 [LibraryClasses]
 
+  ##  @libraryclass  Defines a set of helper methods.
+  FvLib|Include/Library/FvLib.h
+
+  ##  @libraryclass  Defines a set of interfaces for the MM core entrypoint.
+  StandaloneMmCoreEntryPoint|Include/Library/StandaloneMmCoreEntryPoint.h
+
+  ##  @libraryclass  Defines a set of interfaces for the MM driver entrypoint.
+  StandaloneMmDriverEntryPoint|Include/Library/StandaloneMmDriverEntryPoint.h
+
+  ##  @libraryclass  Defines a set of interfaces that provides services for
+  ##                 MM Memory Operation.
+  MemLib|Include/Library/StandaloneMmMemLib.h
+
+[LibraryClasses.AArch64]
+  ##  @libraryclass  Defines a set of interfaces for the MM core entrypoint for
+  ##                 AArch64.
+  StandaloneMmCoreEntryPoint|Include/Library/AArch64/StandaloneMmCoreEntryPoint.h
+
 [Guids]
   gStandaloneMmPkgTokenSpaceGuid           = { 0x18fe7632, 0xf5c8, 0x4e63, { 0x8d, 0xe8, 0x17, 0xa5, 0x5c, 0x59, 0x13, 0xbd }}
   gMpInformationHobGuid                    = { 0xba33f15d, 0x4000, 0x45c1, { 0x8e, 0x88, 0xf9, 0x16, 0x92, 0xd4, 0x57, 0xe3 }}
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 02/25] StandaloneMmPkg: Add library files to DSC
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
  2020-12-09 18:46 ` [PATCH v1 01/25] StandaloneMmPkg: Add library header files to DEC Sami Mujawar
@ 2020-12-09 18:46 ` Sami Mujawar
  2020-12-09 18:46 ` [PATCH v1 03/25] StandaloneMmPkg: Fix spell check reported errors Sami Mujawar
                   ` (24 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:46 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

The Core CI reports a critical error if the library files are
not included in the DSC.

Therefore, add the missing library files to the package DSC.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/StandaloneMmPkg.dsc | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/StandaloneMmPkg/StandaloneMmPkg.dsc b/StandaloneMmPkg/StandaloneMmPkg.dsc
index f9546e182e25fbcd253de0986a1bb554dae1e975..6c0f845390bd8848827811a59bc1aa409db8d773 100644
--- a/StandaloneMmPkg/StandaloneMmPkg.dsc
+++ b/StandaloneMmPkg/StandaloneMmPkg.dsc
@@ -2,7 +2,7 @@
 # Standalone MM Platform.
 #
 # Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
-# Copyright (c) 2016 - 2019, ARM Limited. All rights reserved.<BR>
+# Copyright (c) 2016 - 2020, Arm Limited. All rights reserved.<BR>
 #
 #    SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -53,6 +53,7 @@ [LibraryClasses]
   ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
   StandaloneMmCoreEntryPoint|StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf
   StandaloneMmDriverEntryPoint|MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf
+  VariableMmDependency|StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf
 
 [LibraryClasses.AARCH64]
   ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
@@ -66,6 +67,9 @@ [LibraryClasses.AARCH64]
 [LibraryClasses.common.MM_CORE_STANDALONE]
   HobLib|StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHobLib.inf
 
+[LibraryClasses.common.MM_STANDALONE]
+  MemoryAllocationLib|StandaloneMmPkg/Library/StandaloneMmMemoryAllocationLib/StandaloneMmMemoryAllocationLib.inf
+
 ################################################################################
 #
 # Pcd Section - list of all EDK II PCD Entries defined by this Platform
@@ -99,6 +103,15 @@ [Components.common]
   # MM Core
   #
   StandaloneMmPkg/Core/StandaloneMmCore.inf
+  StandaloneMmPkg/Library/FvLib/FvLib.inf
+  StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf
+  StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHobLib.inf
+  StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.inf
+  StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf
+  StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.inf
+  StandaloneMmPkg/Library/StandaloneMmMemoryAllocationLib/StandaloneMmMemoryAllocationLib.inf
+  StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/StandaloneMmPeCoffExtraActionLib.inf
+  StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf
 
 [Components.AARCH64]
   StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.inf
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 03/25] StandaloneMmPkg: Fix spell check reported errors
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
  2020-12-09 18:46 ` [PATCH v1 01/25] StandaloneMmPkg: Add library header files to DEC Sami Mujawar
  2020-12-09 18:46 ` [PATCH v1 02/25] StandaloneMmPkg: Add library files to DSC Sami Mujawar
@ 2020-12-09 18:46 ` Sami Mujawar
  2020-12-09 18:46 ` [PATCH v1 04/25] StandaloneMmPkg: Fix ECC error 9002 in Core dispatcher Sami Mujawar
                   ` (23 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:46 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

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>
---
 StandaloneMmPkg/Core/Dependency.c                                                                   |  6 ++--
 StandaloneMmPkg/Core/Dispatcher.c                                                                   | 33 ++++++++++----------
 StandaloneMmPkg/Core/Locate.c                                                                       |  6 ++--
 StandaloneMmPkg/Core/Mmi.c                                                                          |  4 +--
 StandaloneMmPkg/Core/StandaloneMmCore.c                                                             |  8 ++---
 StandaloneMmPkg/Core/StandaloneMmCore.h                                                             | 12 +++----
 StandaloneMmPkg/Include/Guid/MmCoreData.h                                                           |  6 ++--
 StandaloneMmPkg/Include/Library/StandaloneMmDriverEntryPoint.h                                      |  4 +--
 StandaloneMmPkg/Include/Library/StandaloneMmMemLib.h                                                |  6 ++--
 StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.inf |  4 +--
 StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.c                                     |  6 ++--
 StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.c                                 |  4 +--
 StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf                               |  4 +--
 13 files changed, 52 insertions(+), 51 deletions(-)

diff --git a/StandaloneMmPkg/Core/Dependency.c b/StandaloneMmPkg/Core/Dependency.c
index e0f2d3518369e9b712f80d34e32011d4fff27509..d2703e4538028a4c34e3baa158ba9850a78cfb2a 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 - 2020, 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 c99e6c04c8de31a4ef7022a7cafee6a9db88c5a2..45b17fe3acfec9c056396873006c03f668c1aed6 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 - 2020, 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 00e395eca6dab8a64d2f587e1c52d2c528ed76f9..1db6f43d7d8a2e65da5199476e00b7f2af6bf56e 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 - 2020, 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 5ed2295ff37409242cc59cadceffc9d3968af6b5..f636a71e26ff586eb3a9b59725b8fb33767dd275 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 - 2020, 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 ac3e2c0b1b93859ebda04841f72a0bed28c02580..0b3ddbaa6a35e2e609f737a39ace62c2406bf8df 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 - 2020, 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 96c195311addf5a7121953a97f3c8c572fca85a2..dcffdd768cff9de1da4c9de471622d553e6815e2 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 - 2020, 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 8bd80e0519a40360eb91f68673d9afea0abf5004..6c7f9fb67204f19ff250eadece6065e62612a2c8 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 - 2020, 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 c83212b405977645df61d0a8eceac80ba2e891b6..a2cd1566f5f6ded2618a16737ecad46f8dae8467 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 - 2020, 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 baa6fe99810acc695a0e24f1f6d5ead0b59ea497..a061389d23f8521abf4c0fae75725d27e8b8a9d6 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 - 2020, 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 3fa08f2c650c36e764825a21644d25b2bb03ca56..faed919094100c69b8227b1b68819955ec5dd433 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 - 2020, 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 f82cdb3ba816a5a36d10fcdf13fc6bd73f76820f..76456c12647b025c5dcab7aee33464aea462b7e6 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 - 2020, 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 1fef0a93b77a0317e454f735e0afb2c2f2c85c40..3549eed791c3eca661fbf6d0e10c0c86f509ea54 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 - 2020, 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 34adce6f39fcb0a5709f21c4e50101fa82e3ba79..eb54776602655ead9bf76038d92bfa80e7636dc5 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 - 2020, Arm Ltd. All rights reserved.
 # SPDX-License-Identifier: BSD-2-Clause-Patent
 #
 ##
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 04/25] StandaloneMmPkg: Fix ECC error 9002 in Core dispatcher
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (2 preceding siblings ...)
  2020-12-09 18:46 ` [PATCH v1 03/25] StandaloneMmPkg: Fix spell check reported errors Sami Mujawar
@ 2020-12-09 18:46 ` Sami Mujawar
  2020-12-09 18:46 ` [PATCH v1 05/25] StandaloneMmPkg: Fix ECC error 1001 in SMM Memory pool management Sami Mujawar
                   ` (22 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:46 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Fix the ECC reported error "[9002] The function headers should follow
Doxygen special documentation blocks in section 2.3.5 in Comment"

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/Core/Dispatcher.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/StandaloneMmPkg/Core/Dispatcher.c b/StandaloneMmPkg/Core/Dispatcher.c
index 45b17fe3acfec9c056396873006c03f668c1aed6..26e5a6933f8d5b5a33865ff63d3ae4bea9fc8c09 100644
--- a/StandaloneMmPkg/Core/Dispatcher.c
+++ b/StandaloneMmPkg/Core/Dispatcher.c
@@ -834,18 +834,14 @@ FvIsBeingProcessed (
   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
-                                FLASH.
-  @param  FvHandle              Handle for Fv, needed in the
-                                EFI_MM_DRIVER_ENTRY so that the PE image can be
-                                read out of the FV at a later time.
-  @param  DriverName            Name of driver to add to mDiscoveredList.
+  @param [in]   FwVolHeader     Pointer to the formware volume header.
+  @param [in]   Pe32Data        Pointer to the PE data.
+  @param [in]   Pe32DataSize    Size of the PE data.
+  @param [in]   Depex           Pointer to the Depex info.
+  @param [in]   DepexSize       Size of the Depex info.
+  @param [in]   DriverName      Name of driver to add to mDiscoveredList.
 
   @retval EFI_SUCCESS           If driver was added to the mDiscoveredList.
-  @retval EFI_ALREADY_STARTED   The driver has already been started. Only one
-                                DriverName may be active in the system at any one
-                                time.
-
 **/
 EFI_STATUS
 MmAddToDriverList (
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 05/25] StandaloneMmPkg: Fix ECC error 1001 in SMM Memory pool management
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (3 preceding siblings ...)
  2020-12-09 18:46 ` [PATCH v1 04/25] StandaloneMmPkg: Fix ECC error 9002 in Core dispatcher Sami Mujawar
@ 2020-12-09 18:46 ` Sami Mujawar
  2020-12-09 18:46 ` [PATCH v1 06/25] StandaloneMmPkg: Fix ECC error 3002 in StandaloneMmCpu Sami Mujawar
                   ` (21 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:46 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Fix the following error reported by the Ecc tool:
[1001] 'TAB' character is not allowed in source code, please
replace each 'TAB' with two spaces.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/Core/Pool.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/StandaloneMmPkg/Core/Pool.c b/StandaloneMmPkg/Core/Pool.c
index 661ef0902165e90abdb8cba9e13773129127e3ec..ad6a1462b3db57a4f992e656bfd4121071b98d7e 100644
--- a/StandaloneMmPkg/Core/Pool.c
+++ b/StandaloneMmPkg/Core/Pool.c
@@ -2,7 +2,7 @@
   SMM Memory pool management functions.
 
   Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>
-  Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
+  Copyright (c) 2016 - 2020, Arm Limited. All rights reserved.<BR>
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -50,7 +50,7 @@ MmInitializeMemoryServices (
       continue;
     }
     DEBUG ((DEBUG_INFO, "MmAddMemoryRegion %d : 0x%016lx - 0x%016lx\n",
-	    Index, MmramRanges[Index].CpuStart, MmramRanges[Index].PhysicalSize));
+      Index, MmramRanges[Index].CpuStart, MmramRanges[Index].PhysicalSize));
     MmAddMemoryRegion (
       MmramRanges[Index].CpuStart,
       MmramRanges[Index].PhysicalSize,
@@ -86,7 +86,7 @@ InternalAllocPoolByIndex (
   Hdr = NULL;
   if (PoolIndex == MAX_POOL_INDEX) {
     Status = MmInternalAllocatePages (
-	             AllocateAnyPages,
+               AllocateAnyPages,
                EfiRuntimeServicesData,
                EFI_SIZE_TO_PAGES (MAX_POOL_SIZE << 1),
                &Address
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 06/25] StandaloneMmPkg: Fix ECC error 3002 in StandaloneMmCpu
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (4 preceding siblings ...)
  2020-12-09 18:46 ` [PATCH v1 05/25] StandaloneMmPkg: Fix ECC error 1001 in SMM Memory pool management Sami Mujawar
@ 2020-12-09 18:46 ` Sami Mujawar
  2020-12-09 18:46 ` [PATCH v1 07/25] StandaloneMmPkg: Fix ECC error 4002 in FwVol helper Sami Mujawar
                   ` (20 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:46 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Fix the ECC tool reported error "[3002] Non-Boolean comparisons
should use a compare operator".

Also fix the following:
 - add curly braces for 'if' condition statements to comply
   with the coding standard.
 - The value returned by GET_GUID_HOB_DATA() is stored in
   *HobData. Therefore, check *HobData against NULL. The
   original code was checking HobData which is incorrect.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c     | 19 +++++++++++++------
 StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.c | 11 +++++++----
 2 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c
index 6a25c4c54843ccdc2d745e8e537942d49b1d1141..9738e8bd60149efb45ef1b66139e0cec38b6c1fe 100644
--- a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c
+++ b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c
@@ -1,7 +1,7 @@
 /** @file
 
   Copyright (c) 2016 HP Development Company, L.P.
-  Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.
+  Copyright (c) 2016 - 2020, Arm Limited. All rights reserved.
 
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
@@ -84,12 +84,18 @@ PiMmStandaloneArmTfCpuDriverEntry (
   }
 
   // Perform parameter validation of NsCommBufferAddr
-  if (NsCommBufferAddr && (NsCommBufferAddr < mNsCommBuffer.PhysicalStart))
+  if (NsCommBufferAddr == (UINTN)NULL) {
+    return EFI_INVALID_PARAMETER;
+  }
+
+  if (NsCommBufferAddr < mNsCommBuffer.PhysicalStart) {
     return EFI_ACCESS_DENIED;
+  }
 
   if ((NsCommBufferAddr + sizeof (EFI_MM_COMMUNICATE_HEADER)) >=
-      (mNsCommBuffer.PhysicalStart + mNsCommBuffer.PhysicalSize))
+      (mNsCommBuffer.PhysicalStart + mNsCommBuffer.PhysicalSize)) {
     return EFI_INVALID_PARAMETER;
+  }
 
   // Find out the size of the buffer passed
   NsCommBufferSize = ((EFI_MM_COMMUNICATE_HEADER *) NsCommBufferAddr)->MessageLength +
@@ -97,9 +103,9 @@ PiMmStandaloneArmTfCpuDriverEntry (
 
   // perform bounds check.
   if (NsCommBufferAddr + NsCommBufferSize >=
-      mNsCommBuffer.PhysicalStart + mNsCommBuffer.PhysicalSize)
+      mNsCommBuffer.PhysicalStart + mNsCommBuffer.PhysicalSize) {
     return EFI_ACCESS_DENIED;
-
+  }
 
   // Now that the secure world can see the normal world buffer, allocate
   // memory to copy the communication buffer to the secure world.
@@ -192,8 +198,9 @@ PiMmCpuTpFwRootMmiHandler (
   ASSERT (CommBufferSize == NULL);
 
   CpuNumber = mMmst->CurrentlyExecutingCpu;
-  if (!PerCpuGuidedEventContext[CpuNumber])
+  if (PerCpuGuidedEventContext[CpuNumber] == NULL) {
     return EFI_NOT_FOUND;
+  }
 
   DEBUG ((DEBUG_INFO, "CommBuffer - 0x%x, CommBufferSize - 0x%x\n",
           PerCpuGuidedEventContext[CpuNumber],
diff --git a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.c b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.c
index 617babd5ab4bcb200ee10e19ec6f99c2ef163200..7c004c8013460bb7f1690351aa64eeaa9eab91dc 100644
--- a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.c
+++ b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.c
@@ -2,7 +2,7 @@
 
   Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
   Copyright (c) 2016 HP Development Company, L.P.
-  Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.
+  Copyright (c) 2016 - 2020, Arm Limited. All rights reserved.
 
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
@@ -53,16 +53,19 @@ GetGuidedHobData (
 {
   EFI_HOB_GUID_TYPE *Hob;
 
-  if (!HobList || !HobGuid || !HobData)
+  if ((HobList == NULL) || (HobGuid == NULL) || (HobData == NULL)) {
     return EFI_INVALID_PARAMETER;
+  }
 
   Hob = GetNextGuidHob (HobGuid, HobList);
-  if (!Hob)
+  if (Hob == NULL) {
     return EFI_NOT_FOUND;
+  }
 
   *HobData = GET_GUID_HOB_DATA (Hob);
-  if (!HobData)
+  if (*HobData == NULL) {
     return EFI_NOT_FOUND;
+  }
 
   return EFI_SUCCESS;
 }
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 07/25] StandaloneMmPkg: Fix ECC error 4002 in FwVol helper
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (5 preceding siblings ...)
  2020-12-09 18:46 ` [PATCH v1 06/25] StandaloneMmPkg: Fix ECC error 3002 in StandaloneMmCpu Sami Mujawar
@ 2020-12-09 18:46 ` Sami Mujawar
  2020-12-09 18:46 ` [PATCH v1 08/25] StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCoreEntryPoint Sami Mujawar
                   ` (19 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:46 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Fix ECC Error "[4002] Function header doesn't exist
Function [MmCoreFfsFindMmDriver] has NO comment immediately
preceding it."

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/Core/FwVol.c | 29 ++++++++++----------
 1 file changed, 15 insertions(+), 14 deletions(-)

diff --git a/StandaloneMmPkg/Core/FwVol.c b/StandaloneMmPkg/Core/FwVol.c
index 856d86011d314a33cdee66af77f34fc8b290b509..c441afc3957b0f8c39625d8199a16c3823990e99 100644
--- a/StandaloneMmPkg/Core/FwVol.c
+++ b/StandaloneMmPkg/Core/FwVol.c
@@ -1,7 +1,7 @@
 /**@file
 
 Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
-Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
+Copyright (c) 2016 - 2020, Arm Limited. All rights reserved.<BR>
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -42,23 +42,24 @@ FvIsBeingProcessed (
   IN EFI_FIRMWARE_VOLUME_HEADER *FwVolHeader
   );
 
+/**
+  Given the pointer to the Firmware Volume Header find the
+  MM driver and return its PE32 image.
+
+  @param [in] FwVolHeader   Pointer to memory mapped FV
+
+  @retval  EFI_SUCCESS            Success.
+  @retval  EFI_INVALID_PARAMETER  Invalid parameter.
+  @retval  EFI_NOT_FOUND          Could not find section data.
+  @retval  EFI_OUT_OF_RESOURCES   Out of resources.
+  @retval  EFI_VOLUME_CORRUPTED   Firmware volume is corrupted.
+  @retval  EFI_UNSUPPORTED        Operation not supported.
+
+**/
 EFI_STATUS
 MmCoreFfsFindMmDriver (
   IN  EFI_FIRMWARE_VOLUME_HEADER  *FwVolHeader
   )
-/*++
-
-Routine Description:
-  Given the pointer to the Firmware Volume Header find the
-  MM driver and return its PE32 image.
-
-Arguments:
-  FwVolHeader - Pointer to memory mapped FV
-
-Returns:
-  other       - Failure
-
---*/
 {
   EFI_STATUS                              Status;
   EFI_STATUS                              DepexStatus;
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 08/25] StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCoreEntryPoint
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (6 preceding siblings ...)
  2020-12-09 18:46 ` [PATCH v1 07/25] StandaloneMmPkg: Fix ECC error 4002 in FwVol helper Sami Mujawar
@ 2020-12-09 18:46 ` Sami Mujawar
  2020-12-09 18:46 ` [PATCH v1 09/25] StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCpu Sami Mujawar
                   ` (18 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:46 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Fix ECC error "[5007] There should be no initialization of a variable
as part of its declaration Variable."

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermissions.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermissions.c b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermissions.c
index bf9650d546291f6d449249d4f0577278a93adb24..0ab6edaeb7f05bc814281d0e928305804633e970 100644
--- a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermissions.c
+++ b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermissions.c
@@ -2,7 +2,7 @@
   Locate, get and update PE/COFF permissions during Standalone MM
   Foundation Entry point on ARM platforms.
 
-Copyright (c) 2017 - 2018, ARM Ltd. All rights reserved.<BR>
+Copyright (c) 2017 - 2020, Arm Ltd. All rights reserved.<BR>
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -121,9 +121,10 @@ LocateStandaloneMmCorePeCoffData (
   IN  OUT   UINTN                           *TeDataSize
   )
 {
-  EFI_FFS_FILE_HEADER             *FileHeader = NULL;
+  EFI_FFS_FILE_HEADER             *FileHeader;
   EFI_STATUS                      Status;
 
+  FileHeader = NULL;
   Status = FfsFindNextFile (
              EFI_FV_FILETYPE_SECURITY_CORE,
              BfvAddress,
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 09/25] StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCpu
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (7 preceding siblings ...)
  2020-12-09 18:46 ` [PATCH v1 08/25] StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCoreEntryPoint Sami Mujawar
@ 2020-12-09 18:46 ` Sami Mujawar
  2020-12-09 18:46 ` [PATCH v1 10/25] StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCore Sami Mujawar
                   ` (17 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:46 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Fix ECC error "[5007] There should be no initialization of a variable
as part of its declaration Variable."

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c
index 9738e8bd60149efb45ef1b66139e0cec38b6c1fe..7620a65c7e3bbd647961942f5b30d3d834107f70 100644
--- a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c
+++ b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c
@@ -65,8 +65,8 @@ PiMmStandaloneArmTfCpuDriverEntry (
   IN UINTN NsCommBufferAddr
   )
 {
-  EFI_MM_COMMUNICATE_HEADER *GuidedEventContext = NULL;
-  EFI_MM_ENTRY_CONTEXT        MmEntryPointContext = {0};
+  EFI_MM_COMMUNICATE_HEADER   *GuidedEventContext;
+  EFI_MM_ENTRY_CONTEXT        MmEntryPointContext;
   EFI_STATUS                  Status;
   UINTN                       NsCommBufferSize;
 
@@ -107,6 +107,7 @@ PiMmStandaloneArmTfCpuDriverEntry (
     return EFI_ACCESS_DENIED;
   }
 
+  GuidedEventContext = NULL;
   // Now that the secure world can see the normal world buffer, allocate
   // memory to copy the communication buffer to the secure world.
   Status = mMmst->MmAllocatePool (
@@ -127,6 +128,8 @@ PiMmStandaloneArmTfCpuDriverEntry (
   // Stash the pointer to the allocated Event Context for this CPU
   PerCpuGuidedEventContext[CpuNumber] = GuidedEventContext;
 
+  ZeroMem (&MmEntryPointContext, sizeof (EFI_MM_ENTRY_CONTEXT));
+
   MmEntryPointContext.CurrentlyExecutingCpu = CpuNumber;
   MmEntryPointContext.NumberOfCpus = mMpInformationHobData->NumberOfProcessors;
 
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 10/25] StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCore
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (8 preceding siblings ...)
  2020-12-09 18:46 ` [PATCH v1 09/25] StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCpu Sami Mujawar
@ 2020-12-09 18:46 ` Sami Mujawar
  2020-12-09 18:46 ` [PATCH v1 11/25] StandaloneMmPkg: Fix ECC error 10014 in StandaloneMmCpu Sami Mujawar
                   ` (16 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:46 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Fix ECC error "[5007] There should be no initialization of a variable
as part of its declaration Variable."

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/Core/StandaloneMmCore.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/StandaloneMmPkg/Core/StandaloneMmCore.c b/StandaloneMmPkg/Core/StandaloneMmCore.c
index 0b3ddbaa6a35e2e609f737a39ace62c2406bf8df..803d7605ece7f6a3400866a04e39acf74cda8144 100644
--- a/StandaloneMmPkg/Core/StandaloneMmCore.c
+++ b/StandaloneMmPkg/Core/StandaloneMmCore.c
@@ -149,9 +149,10 @@ MmExitBootServiceHandler (
   )
 {
   EFI_HANDLE  MmHandle;
-  EFI_STATUS  Status = EFI_SUCCESS;
+  EFI_STATUS  Status;
   STATIC BOOLEAN mInExitBootServices = FALSE;
 
+  Status = EFI_SUCCESS;
   if (!mInExitBootServices) {
     MmHandle = NULL;
     Status = MmInstallProtocolInterface (
@@ -187,9 +188,10 @@ MmReadyToBootHandler (
   )
 {
   EFI_HANDLE  MmHandle;
-  EFI_STATUS  Status = EFI_SUCCESS;
+  EFI_STATUS  Status;
   STATIC BOOLEAN mInReadyToBoot = FALSE;
 
+  Status = EFI_SUCCESS;
   if (!mInReadyToBoot) {
     MmHandle = NULL;
     Status = MmInstallProtocolInterface (
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 11/25] StandaloneMmPkg: Fix ECC error 10014 in StandaloneMmCpu
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (9 preceding siblings ...)
  2020-12-09 18:46 ` [PATCH v1 10/25] StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCore Sami Mujawar
@ 2020-12-09 18:46 ` Sami Mujawar
  2020-12-09 18:46 ` [PATCH v1 12/25] StandaloneMmPkg: Fix ECC error 4002 and 9002 in StandaloneMmCore Sami Mujawar
                   ` (15 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:46 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Fix ECC error "[10014] No used module files found. The source file
[StandaloneMmCpu.h] is existing in module directory but it is not
described in INF file."

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.inf | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.inf b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.inf
index 5cc4915806db72e36da6cec85d5f690c0c958f16..05327de23072048d3a17a480b6aabfdaf04e7955 100644
--- a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.inf
+++ b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.inf
@@ -4,7 +4,7 @@
 #
 #  Copyright (c) 2009, Apple Inc. All rights reserved.<BR>
 #  Copyright (c) 2016 HP Development Company, L.P.
-#  Copyright (c) 2017 - 2018, ARM Limited. All rights reserved.
+#  Copyright (c) 2017 - 2020, Arm Limited. All rights reserved.
 #
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -21,6 +21,7 @@ [Defines]
 
 [Sources]
   StandaloneMmCpu.c
+  StandaloneMmCpu.h
   EventHandle.c
 
 [Packages]
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 12/25] StandaloneMmPkg: Fix ECC error 4002 and 9002 in StandaloneMmCore
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (10 preceding siblings ...)
  2020-12-09 18:46 ` [PATCH v1 11/25] StandaloneMmPkg: Fix ECC error 10014 in StandaloneMmCpu Sami Mujawar
@ 2020-12-09 18:46 ` Sami Mujawar
  2020-12-09 18:46 ` [PATCH v1 13/25] StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCoreEntryPoint Sami Mujawar
                   ` (14 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:46 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Add doxygen style function documentation headers to fix the ECC
reported errors:
 - [4002] Function header doesn't exist.
 - [9002] The function headers should follow Doxygen special
   documentation blocks in section 2.3.5.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/Core/StandaloneMmCore.c | 23 +++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)

diff --git a/StandaloneMmPkg/Core/StandaloneMmCore.c b/StandaloneMmPkg/Core/StandaloneMmCore.c
index 803d7605ece7f6a3400866a04e39acf74cda8144..b04a9f985c6ecc601a6d7caf8fd433a1d4cf73c4 100644
--- a/StandaloneMmPkg/Core/StandaloneMmCore.c
+++ b/StandaloneMmPkg/Core/StandaloneMmCore.c
@@ -414,6 +414,15 @@ MmEntryPoint (
   DEBUG ((DEBUG_INFO, "MmEntryPoint Done\n"));
 }
 
+/** Register the MM Entry Point provided by the MM Core with the
+    MM Configuration protocol.
+
+  @param [in]  Protocol   Pointer to the protocol.
+  @param [in]  Interface  Pointer to the MM Configuration protocol.
+  @param [in]  Handle     Handle.
+
+  @retval EFI_SUCCESS             Success.
+**/
 EFI_STATUS
 EFIAPI
 MmConfigurationMmNotify (
@@ -448,6 +457,12 @@ MmConfigurationMmNotify (
   return EFI_SUCCESS;
 }
 
+/** Returns the HOB list size.
+
+  @param [in]  HobStart   Pointer to the start of the HOB list.
+
+  @retval Size of the HOB list.
+**/
 UINTN
 GetHobListSize (
   IN VOID *HobStart
@@ -475,12 +490,10 @@ GetHobListSize (
 
   Note: This function is called for both DXE invocation and MMRAM invocation.
 
-  @param  ImageHandle    The firmware allocated handle for the EFI image.
-  @param  SystemTable    A pointer to the EFI System Table.
-
-  @retval EFI_SUCCESS    The entry point is executed successfully.
-  @retval Other          Some error occurred when executing this entry point.
+  @param  HobStart       Pointer to the start of the HOB list.
 
+  @retval EFI_SUCCESS             Success.
+  @retval EFI_UNSUPPORTED         Unsupported operation.
 **/
 EFI_STATUS
 EFIAPI
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 13/25] StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCoreEntryPoint
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (11 preceding siblings ...)
  2020-12-09 18:46 ` [PATCH v1 12/25] StandaloneMmPkg: Fix ECC error 4002 and 9002 in StandaloneMmCore Sami Mujawar
@ 2020-12-09 18:46 ` Sami Mujawar
  2020-12-09 18:46 ` [PATCH v1 14/25] StandaloneMmPkg: Fix ECC error 9002 in StandaloneMmMemLib Sami Mujawar
                   ` (13 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:46 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Add doxygen style function headers to fix ECC reported errors
"[4002] Function header doesn't exist Function".

Also update the corresponding declaration to add IN/OUT doxygen
style reference tags.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h                    | 34 +++++++-------
 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermissions.c             | 48 ++++++++++++++++++++
 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c | 14 +++++-
 3 files changed, 78 insertions(+), 18 deletions(-)

diff --git a/StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h b/StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h
index 0f9a032404582fd59e3d4e2bf2884b1077b78d5c..34c43897dded9aebe1470f2dbfe96b93590a9e45 100644
--- a/StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h
+++ b/StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h
@@ -2,7 +2,7 @@
   Entry point to the Standalone MM Foundation when initialized during the SEC
   phase on ARM platforms
 
-Copyright (c) 2017 - 2018, ARM Ltd. All rights reserved.<BR>
+Copyright (c) 2017 - 2020, Arm Ltd. All rights reserved.<BR>
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -70,13 +70,13 @@ typedef RETURN_STATUS (*REGION_PERMISSION_UPDATE_FUNC) (
   sections in the Standalone MM Core module to be able to access RO and RW data
   and make further progress in the boot process.
 
-  @param  ImageContext           Pointer to PE/COFF image context
-  @param  ImageBase              Base of image in memory
-  @param  SectionHeaderOffset    Offset of PE/COFF image section header
-  @param  NumberOfSections       Number of Sections
-  @param  TextUpdater            Function to change code permissions
-  @param  ReadOnlyUpdater        Function to change RO permissions
-  @param  ReadWriteUpdater       Function to change RW permissions
+  @param  [in] ImageContext           Pointer to PE/COFF image context
+  @param  [in] ImageBase              Base of image in memory
+  @param  [in] SectionHeaderOffset    Offset of PE/COFF image section header
+  @param  [in] NumberOfSections       Number of Sections
+  @param  [in] TextUpdater            Function to change code permissions
+  @param  [in] ReadOnlyUpdater        Function to change RO permissions
+  @param  [in] ReadWriteUpdater       Function to change RW permissions
 
 **/
 EFI_STATUS
@@ -98,11 +98,11 @@ UpdateMmFoundationPeCoffPermissions (
   the Standalone MM Core module to be able to change permissions of the
   individual sections later in the boot process.
 
-  @param  TeData                 Pointer to PE/COFF image data
-  @param  ImageContext           Pointer to PE/COFF image context
-  @param  ImageBase              Pointer to ImageBase variable
-  @param  SectionHeaderOffset    Offset of PE/COFF image section header
-  @param  NumberOfSections       Number of Sections
+  @param  [in]      TeData                Pointer to PE/COFF image data
+  @param  [in, out] ImageContext          Pointer to PE/COFF image context
+  @param  [out]     ImageBase             Pointer to ImageBase variable
+  @param  [in, out] SectionHeaderOffset   Offset of PE/COFF image section header
+  @param  [in, out] NumberOfSections      Number of Sections
 
 **/
 EFI_STATUS
@@ -121,10 +121,10 @@ GetStandaloneMmCorePeCoffSections (
   by the Boot Firmware Volume. This function locates the Standalone MM Core
   module PE/COFF image in the BFV and returns this information.
 
-  @param  BfvAddress             Base Address of Boot Firmware Volume
-  @param  TeData                 Pointer to address for allocating memory for
-                                 PE/COFF image data
-  @param  TeDataSize             Pointer to size of PE/COFF image data
+  @param  [in]      BfvAddress         Base Address of Boot Firmware Volume
+  @param  [in, out] TeData             Pointer to address for allocating memory
+                                       for PE/COFF image data
+  @param  [in, out] TeDataSize         Pointer to size of PE/COFF image data
 
 **/
 EFI_STATUS
diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermissions.c b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermissions.c
index 0ab6edaeb7f05bc814281d0e928305804633e970..f2e724cfc38e75d61bae5d8d21d40feda1685144 100644
--- a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermissions.c
+++ b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermissions.c
@@ -25,6 +25,21 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 
 #include <IndustryStandard/ArmStdSmc.h>
 
+/**
+  Privileged firmware assigns RO & Executable attributes to all memory occupied
+  by the Boot Firmware Volume. This function sets the correct permissions of
+  sections in the Standalone MM Core module to be able to access RO and RW data
+  and make further progress in the boot process.
+
+  @param  [in] ImageContext           Pointer to PE/COFF image context
+  @param  [in] ImageBase              Base of image in memory
+  @param  [in] SectionHeaderOffset    Offset of PE/COFF image section header
+  @param  [in] NumberOfSections       Number of Sections
+  @param  [in] TextUpdater            Function to change code permissions
+  @param  [in] ReadOnlyUpdater        Function to change RO permissions
+  @param  [in] ReadWriteUpdater       Function to change RW permissions
+
+**/
 EFI_STATUS
 EFIAPI
 UpdateMmFoundationPeCoffPermissions (
@@ -113,6 +128,17 @@ UpdateMmFoundationPeCoffPermissions (
   return RETURN_SUCCESS;
 }
 
+/**
+  Privileged firmware assigns RO & Executable attributes to all memory occupied
+  by the Boot Firmware Volume. This function locates the Standalone MM Core
+  module PE/COFF image in the BFV and returns this information.
+
+  @param  [in]      BfvAddress         Base Address of Boot Firmware Volume
+  @param  [in, out] TeData             Pointer to address for allocating memory
+                                       for PE/COFF image data
+  @param  [in, out] TeDataSize         Pointer to size of PE/COFF image data
+
+**/
 EFI_STATUS
 EFIAPI
 LocateStandaloneMmCorePeCoffData (
@@ -151,6 +177,15 @@ LocateStandaloneMmCorePeCoffData (
   return Status;
 }
 
+/**
+  Returns the PC COFF section information.
+
+  @param  [in, out] ImageContext         Pointer to PE/COFF image context
+  @param  [out]     ImageBase            Base of image in memory
+  @param  [out]     SectionHeaderOffset  Offset of PE/COFF image section header
+  @param  [out]     NumberOfSections     Number of Sections
+
+**/
 STATIC
 EFI_STATUS
 GetPeCoffSectionInformation (
@@ -241,6 +276,19 @@ GetPeCoffSectionInformation (
   return RETURN_SUCCESS;
 }
 
+/**
+  Privileged firmware assigns RO & Executable attributes to all memory occupied
+  by the Boot Firmware Volume. This function locates the section information of
+  the Standalone MM Core module to be able to change permissions of the
+  individual sections later in the boot process.
+
+  @param  [in]      TeData                Pointer to PE/COFF image data
+  @param  [in, out] ImageContext          Pointer to PE/COFF image context
+  @param  [out]     ImageBase             Pointer to ImageBase variable
+  @param  [in, out] SectionHeaderOffset   Offset of PE/COFF image section header
+  @param  [in, out] NumberOfSections      Number of Sections
+
+**/
 EFI_STATUS
 EFIAPI
 GetStandaloneMmCorePeCoffSections (
diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
index 9cecfa667b905c975ddd348513c51fc8a5955718..3d3c772019df9afe9b8ec77019c776ea7c3b55fb 100644
--- a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
+++ b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
@@ -2,7 +2,7 @@
   Entry point to the Standalone MM Foundation when initialized during the SEC
   phase on ARM platforms
 
-Copyright (c) 2017 - 2018, ARM Ltd. All rights reserved.<BR>
+Copyright (c) 2017 - 2020, Arm Ltd. All rights reserved.<BR>
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -101,6 +101,12 @@ GetAndPrintBootinformation (
   return PayloadBootInfo;
 }
 
+/**
+  A loop to delegated events.
+
+  @param  [in] EventCompleteSvcArgs   Pointer to the event completion arguments.
+
+**/
 VOID
 EFIAPI
 DelegatedEventLoop (
@@ -156,6 +162,12 @@ DelegatedEventLoop (
   }
 }
 
+/**
+  Query the SPM version, check compatibility and return success if compatible.
+
+  @retval EFI_SUCCESS       SPM versions compatible.
+  @retval EFI_UNSUPPORTED   SPM versions not compatible.
+**/
 STATIC
 EFI_STATUS
 GetSpmVersion (VOID)
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 14/25] StandaloneMmPkg: Fix ECC error 9002 in StandaloneMmMemLib
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (12 preceding siblings ...)
  2020-12-09 18:46 ` [PATCH v1 13/25] StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCoreEntryPoint Sami Mujawar
@ 2020-12-09 18:46 ` Sami Mujawar
  2020-12-09 18:47 ` [PATCH v1 15/25] StandaloneMmPkg: Fix ECC error 9002 in StandaloneMmCoreEntryPoint Sami Mujawar
                   ` (12 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:46 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Fix the ECC reported error: "[9002] The function headers should
follow Doxygen special documentation blocks in section 2.3.5".

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.c b/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.c
index 76456c12647b025c5dcab7aee33464aea462b7e6..3c2b7ae963289b58b4eba3acef175db3d28d962c 100644
--- a/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.c
+++ b/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.c
@@ -240,8 +240,8 @@ MmSetMem (
 /**
   The constructor function initializes the Mm Mem library
 
-  @param  ImageHandle   The firmware allocated handle for the EFI image.
-  @param  SystemTable   A pointer to the EFI System Table.
+  @param  [in]  ImageHandle     The firmware allocated handle for the EFI image.
+  @param  [in]  MmSystemTable   A pointer to the EFI System Table.
 
   @retval EFI_SUCCESS   The constructor always returns EFI_SUCCESS.
 
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 15/25] StandaloneMmPkg: Fix ECC error 9002 in StandaloneMmCoreEntryPoint
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (13 preceding siblings ...)
  2020-12-09 18:46 ` [PATCH v1 14/25] StandaloneMmPkg: Fix ECC error 9002 in StandaloneMmMemLib Sami Mujawar
@ 2020-12-09 18:47 ` Sami Mujawar
  2020-12-09 18:47 ` [PATCH v1 16/25] StandaloneMmPkg: Fix ECC error 9003 " Sami Mujawar
                   ` (11 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:47 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Fix the ECC reported error "[9002] The function headers should follow
Doxygen special documentation blocks in section 2.3.5 in Comment".

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h                    | 13 ++++++++-----
 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHobList.c              |  6 ++++--
 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c |  7 ++++---
 3 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h b/StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h
index 34c43897dded9aebe1470f2dbfe96b93590a9e45..b176e56e789b0bc766e48a6083512a9d0ae3ebc3 100644
--- a/StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h
+++ b/StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h
@@ -140,8 +140,9 @@ LocateStandaloneMmCorePeCoffData (
   Use the boot information passed by privileged firmware to populate a HOB list
   suitable for consumption by the MM Core and drivers.
 
-  @param  CpuDriverEntryPoint    Address of MM CPU driver entrypoint
-  @param  PayloadBootInfo        Boot information passed by privileged firmware
+  @param  [in, out] CpuDriverEntryPoint   Address of MM CPU driver entrypoint
+  @param  [in]      PayloadBootInfo       Boot information passed by privileged
+                                          firmware
 
 **/
 VOID *
@@ -155,9 +156,11 @@ CreateHobListFromBootInfo (
 /**
   The entry point of Standalone MM Foundation.
 
-  @param  SharedBufAddress  Pointer to the Buffer between SPM and SP.
-  @param  cookie1.
-  @param  cookie2.
+  @param  [in]  SharedBufAddress  Pointer to the Buffer between SPM and SP.
+  @param  [in]  SharedBufSize     Size of the shared buffer.
+  @param  [in]  cookie1           Cookie 1
+  @param  [in]  cookie2           Cookie 2
+
 **/
 VOID
 EFIAPI
diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHobList.c b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHobList.c
index 08b12c45bc2937942a85ee66cf1a6d80bfa41e69..887f2559dfd05bedb66bb86cd17021efa6a4aea0 100644
--- a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHobList.c
+++ b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHobList.c
@@ -2,7 +2,7 @@
   Creates HOB during Standalone MM Foundation entry point
   on ARM platforms.
 
-Copyright (c) 2017 - 2018, ARM Ltd. All rights reserved.<BR>
+Copyright (c) 2017 - 2020, Arm Ltd. All rights reserved.<BR>
 SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -46,7 +46,9 @@ extern EFI_GUID gEfiArmTfCpuDriverEpDescriptorGuid;
   Use the boot information passed by privileged firmware to populate a HOB list
   suitable for consumption by the MM Core and drivers.
 
-  @param  PayloadBootInfo    Boot information passed by privileged firmware
+  @param  [in, out] CpuDriverEntryPoint   Address of MM CPU driver entrypoint
+  @param  [in]      PayloadBootInfo       Boot information passed by privileged
+                                          firmware
 
 **/
 VOID *
diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
index 3d3c772019df9afe9b8ec77019c776ea7c3b55fb..19472fa659a20d84eebd9e31e20eabab6596f799 100644
--- a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
+++ b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
@@ -214,9 +214,10 @@ GetSpmVersion (VOID)
 /**
   The entry point of Standalone MM Foundation.
 
-  @param  SharedBufAddress  Pointer to the Buffer between SPM and SP.
-  @param  cookie1.
-  @param  cookie2.
+  @param  [in]  SharedBufAddress  Pointer to the Buffer between SPM and SP.
+  @param  [in]  SharedBufSize     Size of the shared buffer.
+  @param  [in]  cookie1           Cookie 1
+  @param  [in]  cookie2           Cookie 2
 
 **/
 VOID
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 16/25] StandaloneMmPkg: Fix ECC error 9003 in StandaloneMmCoreEntryPoint
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (14 preceding siblings ...)
  2020-12-09 18:47 ` [PATCH v1 15/25] StandaloneMmPkg: Fix ECC error 9002 in StandaloneMmCoreEntryPoint Sami Mujawar
@ 2020-12-09 18:47 ` Sami Mujawar
  2020-12-09 18:47 ` [PATCH v1 17/25] StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCpu Sami Mujawar
                   ` (10 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:47 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Fix the ECC reported error "[9003] The first line of text in a comment
block should be a brief description of the element being documented and
the brief description must end with a period. Comment description should
end with period '.'".

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
index 19472fa659a20d84eebd9e31e20eabab6596f799..d097c50360adce7f2280ea4d575971927860706e 100644
--- a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
+++ b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
@@ -40,9 +40,10 @@ PI_MM_ARM_TF_CPU_DRIVER_ENTRYPOINT      CpuDriverEntryPoint = NULL;
 
 /**
   Retrieve a pointer to and print the boot information passed by privileged
-  secure firmware
+  secure firmware.
 
-  @param  SharedBufAddress The pointer memory shared with privileged firmware
+  @param  [in] SharedBufAddress   The pointer memory shared with privileged
+                                  firmware.
 
 **/
 EFI_SECURE_PARTITION_BOOT_INFO *
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 17/25] StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCpu
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (15 preceding siblings ...)
  2020-12-09 18:47 ` [PATCH v1 16/25] StandaloneMmPkg: Fix ECC error 9003 " Sami Mujawar
@ 2020-12-09 18:47 ` Sami Mujawar
  2020-12-09 18:47 ` [PATCH v1 18/25] StandaloneMmPkg: Fix ECC error 9001 " Sami Mujawar
                   ` (9 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:47 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Fix the ECC reported error "[4002] Function header doesn't exist".

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c | 21 ++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c
index 7620a65c7e3bbd647961942f5b30d3d834107f70..006f95989124ee0151e3cdf42b4dd4a5be80a6aa 100644
--- a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c
+++ b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c
@@ -58,6 +58,19 @@ EFI_MM_CONFIGURATION_PROTOCOL mMmConfig = {
 
 STATIC EFI_MM_ENTRY_POINT     mMmEntryPoint = NULL;
 
+/**
+  The PI Standalone MM entry point for the TF-A CPU driver.
+
+  @param  [in] EventId            The event Id.
+  @param  [in] CpuNumber          The CPU number.
+  @param  [in] NsCommBufferAddr   Address of the NS common buffer.
+
+  @retval   EFI_SUCCESS             Success.
+  @retval   EFI_INVALID_PARAMETER   A parameter was invalid.
+  @retval   EFI_ACCESS_DENIED       Access not permitted.
+  @retval   EFI_OUT_OF_RESOURCES    Out of resources.
+  @retval   EFI_UNSUPPORTED         Operation not supported.
+**/
 EFI_STATUS
 PiMmStandaloneArmTfCpuDriverEntry (
   IN UINTN EventId,
@@ -159,6 +172,14 @@ PiMmStandaloneArmTfCpuDriverEntry (
   return Status;
 }
 
+/**
+  Registers the MM foundation entry point.
+
+  @param  [in] This               Pointer to the MM Configuration protocol.
+  @param  [in] MmEntryPoint       Function pointer to the MM Entry point.
+
+  @retval   EFI_SUCCESS             Success.
+**/
 EFI_STATUS
 EFIAPI
 MmFoundationEntryRegister (
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 18/25] StandaloneMmPkg: Fix ECC error 9001 in StandaloneMmCpu
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (16 preceding siblings ...)
  2020-12-09 18:47 ` [PATCH v1 17/25] StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCpu Sami Mujawar
@ 2020-12-09 18:47 ` Sami Mujawar
  2020-12-09 18:47 ` [PATCH v1 19/25] StandaloneMmPkg: Fix ECC error 9001 in Standalone MM Core Sami Mujawar
                   ` (8 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:47 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Fix the ECC reported error "[9001] The file headers should follow
Doxygen special documentation blocks in section 2.3.5".

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.inf | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.inf b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.inf
index 05327de23072048d3a17a480b6aabfdaf04e7955..d984e91628980ebafcfce112ab02f524cbe2e5e1 100644
--- a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.inf
+++ b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.inf
@@ -1,5 +1,4 @@
-#/** @file
-#
+## @file
 #  Standalone MM CPU driver for ARM Standard Platforms
 #
 #  Copyright (c) 2009, Apple Inc. All rights reserved.<BR>
@@ -7,8 +6,7 @@
 #  Copyright (c) 2017 - 2020, Arm Limited. All rights reserved.
 #
 #  SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-#**/
+##
 
 [Defines]
   INF_VERSION                    = 0x0001001A
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 19/25] StandaloneMmPkg: Fix ECC error 9001 in Standalone MM Core
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (17 preceding siblings ...)
  2020-12-09 18:47 ` [PATCH v1 18/25] StandaloneMmPkg: Fix ECC error 9001 " Sami Mujawar
@ 2020-12-09 18:47 ` Sami Mujawar
  2020-12-09 18:47 ` [PATCH v1 20/25] StandaloneMmPkg: Fix ECC error 9002 in CoreMemoryAllocationLib Sami Mujawar
                   ` (7 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:47 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Fix the ECC reported error "[9001] The file headers should follow
Doxygen special documentation blocks in section 2.3.5"

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/Core/FwVol.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/StandaloneMmPkg/Core/FwVol.c b/StandaloneMmPkg/Core/FwVol.c
index c441afc3957b0f8c39625d8199a16c3823990e99..12ffdd19c67007cf7c30b0a837ebdeec4c6eb3ea 100644
--- a/StandaloneMmPkg/Core/FwVol.c
+++ b/StandaloneMmPkg/Core/FwVol.c
@@ -1,8 +1,9 @@
-/**@file
+/** @file
+    Firmware volume helper interfaces.
 
-Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
-Copyright (c) 2016 - 2020, Arm Limited. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
+  Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2016 - 2020, Arm Limited. All rights reserved.<BR>
+  SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
 
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 20/25] StandaloneMmPkg: Fix ECC error 9002 in CoreMemoryAllocationLib
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (18 preceding siblings ...)
  2020-12-09 18:47 ` [PATCH v1 19/25] StandaloneMmPkg: Fix ECC error 9001 in Standalone MM Core Sami Mujawar
@ 2020-12-09 18:47 ` Sami Mujawar
  2020-12-09 18:47 ` [PATCH v1 21/25] StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCpu Sami Mujawar
                   ` (6 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:47 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Fix the ECC reported error "[9002] The function headers should follow
Doxygen special documentation blocks in section 2.3.5".

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.c b/StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.c
index eb3d772e18c5bf54f3b2f210d53c5821b3358eb4..2313deabbc9836ba30070876cff8125d97eb65fd 100644
--- a/StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.c
+++ b/StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.c
@@ -2,7 +2,7 @@
   Support routines for memory allocation routines based on Standalone MM Core internal functions.
 
   Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
-  Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
+  Copyright (c) 2016 - 2020, ARM Limited. All rights reserved.<BR>
 
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
@@ -822,8 +822,8 @@ FreePool (
   The constructor function calls MmInitializeMemoryServices to initialize
   memory in MMRAM and caches EFI_MM_SYSTEM_TABLE pointer.
 
-  @param  ImageHandle   The firmware allocated handle for the EFI image.
-  @param  SystemTable   A pointer to the Management mode System Table.
+  @param  [in]  ImageHandle     The firmware allocated handle for the EFI image.
+  @param  [in]  MmSystemTable   A pointer to the Management mode System Table.
 
   @retval EFI_SUCCESS   The constructor always returns EFI_SUCCESS.
 
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 21/25] StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCpu
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (19 preceding siblings ...)
  2020-12-09 18:47 ` [PATCH v1 20/25] StandaloneMmPkg: Fix ECC error 9002 in CoreMemoryAllocationLib Sami Mujawar
@ 2020-12-09 18:47 ` Sami Mujawar
  2020-12-09 18:47 ` [PATCH v1 22/25] StandaloneMmPkg: Fix ECC error 8005 in StandaloneMmCoreEntryPoint Sami Mujawar
                   ` (5 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:47 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Fix the ECC reported error "[4002] Function header doesn't exist".

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c     |  9 ++++--
 StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.c | 23 ++++++++++++++-
 StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.h | 31 +++++++++++++++++++-
 3 files changed, 58 insertions(+), 5 deletions(-)

diff --git a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c
index 006f95989124ee0151e3cdf42b4dd4a5be80a6aa..7fe912b0c9411819e81c668ffd92a70c2cac84bb 100644
--- a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c
+++ b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c
@@ -196,10 +196,13 @@ MmFoundationEntryRegister (
   This function is the main entry point for an MM handler dispatch
   or communicate-based callback.
 
-  @param  DispatchHandle  The unique handle assigned to this handler by MmiHandlerRegister().
-  @param  Context         Points to an optional handler context which was specified when the handler was registered.
+  @param  DispatchHandle  The unique handle assigned to this handler by
+                          MmiHandlerRegister().
+  @param  Context         Points to an optional handler context which was
+                          specified when the handler was registered.
   @param  CommBuffer      A pointer to a collection of data in memory that will
-                          be conveyed from a non-MM environment into an MM environment.
+                          be conveyed from a non-MM environment into an
+                          MM environment.
   @param  CommBufferSize  The size of the CommBuffer.
 
   @return Status Code
diff --git a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.c b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.c
index 7c004c8013460bb7f1690351aa64eeaa9eab91dc..11c97fd8b62d6c49743422d5e0e2da46ac64327e 100644
--- a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.c
+++ b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.c
@@ -44,6 +44,16 @@ EFI_MM_SYSTEM_TABLE *mMmst = NULL;
 //
 STATIC EFI_HANDLE            mMmCpuHandle = NULL;
 
+/** Returns the HOB data for the matching HOB GUID.
+
+  @param  [in]  HobList  Pointer to the HOB list.
+  @param  [in]  HobGuid  The GUID for the HOB.
+  @param  [out] HobData  Pointer to the HOB data.
+
+  @retval  EFI_SUCCESS            The function completed successfully.
+  @retval  EFI_INVALID_PARAMETER  Invalid parameter.
+  @retval  EFI_NOT_FOUND          Could not find HOB with matching GUID.
+**/
 EFI_STATUS
 GetGuidedHobData (
   IN  VOID *HobList,
@@ -70,9 +80,20 @@ GetGuidedHobData (
   return EFI_SUCCESS;
 }
 
+/** Entry point for the Standalone MM CPU driver.
+
+  @param  [in]  ImageHandle   Unused. Not actual image handle.
+  @param  [in]  SystemTable   Pointer to MM System table.
+
+  @retval  EFI_SUCCESS            The function completed successfully.
+  @retval  EFI_INVALID_PARAMETER  Invalid parameter.
+  @retval  EFI_OUT_OF_RESOURCES   Out of resources.
+  @retval  EFI_NOT_FOUND          Failed to find the HOB for the CPU
+                                  driver endpoint descriptor.
+**/
 EFI_STATUS
 StandaloneMmCpuInitialize (
-  IN EFI_HANDLE         ImageHandle,  // not actual imagehandle
+  IN EFI_HANDLE            ImageHandle,  // not actual imagehandle
   IN EFI_MM_SYSTEM_TABLE   *SystemTable  // not actual systemtable
   )
 {
diff --git a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.h b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.h
index 47a020c27b9591436d0559f34e0dcd0e7443aa93..23b60a2c991840a6b422e198f136947399074870 100644
--- a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.h
+++ b/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.h
@@ -2,7 +2,7 @@
   Private header with declarations and definitions specific to the MM Standalone
   CPU driver
 
-  Copyright (c) 2017 - 2018, ARM Limited. All rights reserved.
+  Copyright (c) 2017 - 2020, Arm Limited. All rights reserved.
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -33,6 +33,19 @@ extern EFI_MMRAM_DESCRIPTOR          mNsCommBuffer;
 extern MP_INFORMATION_HOB_DATA       *mMpInformationHobData;
 extern EFI_MM_CONFIGURATION_PROTOCOL mMmConfig;
 
+/**
+  The PI Standalone MM entry point for the TF-A CPU driver.
+
+  @param  [in] EventId            The event Id.
+  @param  [in] CpuNumber          The CPU number.
+  @param  [in] NsCommBufferAddr   Address of the NS common buffer.
+
+  @retval   EFI_SUCCESS             Success.
+  @retval   EFI_INVALID_PARAMETER   A parameter was invalid.
+  @retval   EFI_ACCESS_DENIED       Access not permitted.
+  @retval   EFI_OUT_OF_RESOURCES    Out of resources.
+  @retval   EFI_UNSUPPORTED         Operation not supported.
+**/
 EFI_STATUS
 PiMmStandaloneArmTfCpuDriverEntry (
   IN UINTN EventId,
@@ -40,6 +53,22 @@ PiMmStandaloneArmTfCpuDriverEntry (
   IN UINTN NsCommBufferAddr
   );
 
+/**
+  This function is the main entry point for an MM handler dispatch
+  or communicate-based callback.
+
+  @param  DispatchHandle  The unique handle assigned to this handler by
+                          MmiHandlerRegister().
+  @param  Context         Points to an optional handler context which was
+                          specified when the handler was registered.
+  @param  CommBuffer      A pointer to a collection of data in memory that will
+                          be conveyed from a non-MM environment into an
+                          MM environment.
+  @param  CommBufferSize  The size of the CommBuffer.
+
+  @return Status Code
+
+**/
 EFI_STATUS
 EFIAPI
 PiMmCpuTpFwRootMmiHandler (
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 22/25] StandaloneMmPkg: Fix ECC error 8005 in StandaloneMmCoreEntryPoint
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (20 preceding siblings ...)
  2020-12-09 18:47 ` [PATCH v1 21/25] StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCpu Sami Mujawar
@ 2020-12-09 18:47 ` Sami Mujawar
  2020-12-09 18:47 ` [PATCH v1 23/25] StandaloneMmPkg: Add EDK2 Core CI support Sami Mujawar
                   ` (4 subsequent siblings)
  26 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:47 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

The ECC tool reports error [8005] Variable name does not follow the rules:
  1. First character should be upper case
  2. Must contain lower case characters
  3. No white space characters
  4. Global variable name must start with a 'g'
for the constants SPM_MAJOR_VER, SPM_MINOR_VER & BOOT_PAYLOAD_VERSION.

Fix this by changing converting these constant variables to #defined
values.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
index d097c50360adce7f2280ea4d575971927860706e..1363d54ceebfcbc1d64ff476d4f33bdd626a2422 100644
--- a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
+++ b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
@@ -31,10 +31,10 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 #define SPM_MINOR_VER_MASK        0x0000FFFF
 #define SPM_MAJOR_VER_SHIFT       16
 
-CONST UINT32 SPM_MAJOR_VER = 0;
-CONST UINT32 SPM_MINOR_VER = 1;
+#define SPM_MAJOR_VER             0
+#define SPM_MINOR_VER             1
 
-CONST UINT8 BOOT_PAYLOAD_VERSION = 1;
+#define BOOT_PAYLOAD_VERSION      1
 
 PI_MM_ARM_TF_CPU_DRIVER_ENTRYPOINT      CpuDriverEntryPoint = NULL;
 
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 23/25] StandaloneMmPkg: Add EDK2 Core CI support
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (21 preceding siblings ...)
  2020-12-09 18:47 ` [PATCH v1 22/25] StandaloneMmPkg: Fix ECC error 8005 in StandaloneMmCoreEntryPoint Sami Mujawar
@ 2020-12-09 18:47 ` Sami Mujawar
  2020-12-09 20:09   ` [EXTERNAL] [edk2-devel] " Bret Barkelew
  2020-12-09 18:47 ` [PATCH v1 24/25] .azurepipelines: Add StandaloneMmPkg to CI matrix Sami Mujawar
                   ` (3 subsequent siblings)
  26 siblings, 1 reply; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:47 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

The TianoCore EDKII project has introduced a Core CI infrastructure
using TianoCore EDKII Tools PIP modules:
  * https://pypi.org/project/edk2-pytool-library/
  * https://pypi.org/project/edk2-pytool-extensions/

The edk2\.pytool\Readme.md provides information to configure the
environment and to run local builds.

This patch defines the necessary settings for enabling the Core CI
builds for StandaloneMmPkg.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/StandaloneMmPkg.ci.yaml | 85 ++++++++++++++++++++
 1 file changed, 85 insertions(+)

diff --git a/StandaloneMmPkg/StandaloneMmPkg.ci.yaml b/StandaloneMmPkg/StandaloneMmPkg.ci.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..110f461815b11b3775f3e488a46e1a35ed29b4b7
--- /dev/null
+++ b/StandaloneMmPkg/StandaloneMmPkg.ci.yaml
@@ -0,0 +1,85 @@
+## @file
+#  CI configuration for StandaloneMmPkg
+#
+#  Copyright (c) 2020, Arm Limited. All rights reserved.<BR>
+#  SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+{
+    ## options defined .pytool/Plugin/CompilerPlugin
+    "CompilerPlugin": {
+        "DscPath": "StandaloneMmPkg.dsc"
+    },
+
+    ## options defined .pytool/Plugin/HostUnitTestCompilerPlugin
+    "HostUnitTestCompilerPlugin": {
+        "DscPath": "" # Don't support this test
+    },
+
+    ## options defined .pytool/Plugin/CharEncodingCheck
+    "CharEncodingCheck": {
+        "IgnoreFiles": []
+    },
+
+    ## options defined .pytool/Plugin/DependencyCheck
+    "DependencyCheck": {
+        "AcceptableDependencies": [
+            "ArmPkg/ArmPkg.dec",
+            "ArmPlatformPkg/ArmPlatformPkg.dec",
+            "EmbeddedPkg/EmbeddedPkg.dec",
+            "StandaloneMmPkg/StandaloneMmPkg.dec",
+            "MdeModulePkg/MdeModulePkg.dec",
+            "MdePkg/MdePkg.dec"
+        ],
+        # For host based unit tests
+        "AcceptableDependencies-HOST_APPLICATION":[
+            "UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec"
+        ],
+        # For UEFI shell based apps
+        "AcceptableDependencies-UEFI_APPLICATION":[],
+        "IgnoreInf": []
+    },
+
+    ## options defined .pytool/Plugin/DscCompleteCheck
+    "DscCompleteCheck": {
+        "IgnoreInf": [],
+        "DscPath": "StandaloneMmPkg.dsc"
+    },
+
+    ## options defined .pytool/Plugin/HostUnitTestDscCompleteCheck
+    "HostUnitTestDscCompleteCheck": {
+        "IgnoreInf": [""],
+        "DscPath": "" # Don't support this test
+    },
+
+    ## options defined .pytool/Plugin/GuidCheck
+    "GuidCheck": {
+        "IgnoreGuidName": [],
+        "IgnoreGuidValue": [],
+        "IgnoreFoldersAndFiles": [],
+        "IgnoreDuplicates": [],
+    },
+
+    ## options defined .pytool/Plugin/LibraryClassCheck
+    "LibraryClassCheck": {
+        "IgnoreHeaderFile": []
+    },
+
+    ## options defined .pytool/Plugin/SpellCheck
+    "SpellCheck": {
+        "AuditOnly": False,
+        "IgnoreFiles": [],           # use gitignore syntax to ignore errors
+                                     # in matching files
+        "ExtendWords": [
+            "Bsymbolic",
+            "FwVol",
+            "mpidr",
+            "mstrict",
+            "schedulable",
+            "StandaloneMMCore",
+        ],           # words to extend to the dictionary for this package
+        "IgnoreStandardPaths": [],   # Standard Plugin defined paths that
+                                     # should be ignore
+        "AdditionalIncludePaths": [] # Additional paths to spell check
+                                     # (wildcards supported)
+    }
+}
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 24/25] .azurepipelines: Add StandaloneMmPkg to CI matrix
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (22 preceding siblings ...)
  2020-12-09 18:47 ` [PATCH v1 23/25] StandaloneMmPkg: Add EDK2 Core CI support Sami Mujawar
@ 2020-12-09 18:47 ` Sami Mujawar
  2020-12-09 20:10   ` [EXTERNAL] [edk2-devel] " Bret Barkelew
  2020-12-09 18:47 ` [PATCH v1 25/25] .pytool: CI Settings to support StandaloneMmPkg Sami Mujawar
                   ` (2 subsequent siblings)
  26 siblings, 1 reply; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:47 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Add StandaloneMmPkg to the Core CI matrix.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 .azurepipelines/templates/pr-gate-build-job.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.azurepipelines/templates/pr-gate-build-job.yml b/.azurepipelines/templates/pr-gate-build-job.yml
index 10df21b041a670419e54a3d727bea83f0cbda157..6b1a295aff4fa34ec1cf4ce2b005ac28e7befda2 100644
--- a/.azurepipelines/templates/pr-gate-build-job.yml
+++ b/.azurepipelines/templates/pr-gate-build-job.yml
@@ -37,7 +37,7 @@ jobs:
         Build.Pkgs: 'PcAtChipsetPkg,ShellPkg'
         Build.Targets: 'DEBUG,RELEASE,NO-TARGET'
       TARGET_FMP_FAT_TEST:
-        Build.Pkgs: 'FmpDevicePkg,FatPkg,UnitTestFrameworkPkg,DynamicTablesPkg'
+        Build.Pkgs: 'FmpDevicePkg,FatPkg,UnitTestFrameworkPkg,DynamicTablesPkg,StandaloneMmPkg'
         Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'
       TARGET_CRYPTO:
         Build.Pkgs: 'CryptoPkg'
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* [PATCH v1 25/25] .pytool: CI Settings to support StandaloneMmPkg
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (23 preceding siblings ...)
  2020-12-09 18:47 ` [PATCH v1 24/25] .azurepipelines: Add StandaloneMmPkg to CI matrix Sami Mujawar
@ 2020-12-09 18:47 ` Sami Mujawar
  2020-12-09 20:10   ` [EXTERNAL] [edk2-devel] " Bret Barkelew
  2020-12-09 22:31 ` [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Yao, Jiewen
  2020-12-10  9:27 ` [edk2-devel] " Laszlo Ersek
  26 siblings, 1 reply; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 18:47 UTC (permalink / raw)
  To: devel
  Cc: Sami Mujawar, ard.biesheuvel, jiewen.yao, lersek, thomas.abraham,
	Sughosh.Ganu, Matteo.Carlini, Ben.Adderson, nd

Update pytools configuration to enable StandaloneMmPkg
and update package status in documentation.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 .pytool/CISettings.py | 1 +
 .pytool/Readme.md     | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/.pytool/CISettings.py b/.pytool/CISettings.py
index b337d046ae08acbe8e587ff42b56f6fc9ce30930..0748c3f45fecf9256738ed5d233d69732d4fb5be 100644
--- a/.pytool/CISettings.py
+++ b/.pytool/CISettings.py
@@ -52,6 +52,7 @@ class Settings(CiBuildSettingsManager, UpdateSettingsManager, SetupSettingsManag
                 "UefiCpuPkg",
                 "FmpDevicePkg",
                 "ShellPkg",
+                "StandaloneMmPkg",
                 "FatPkg",
                 "CryptoPkg",
                 "UnitTestFrameworkPkg",
diff --git a/.pytool/Readme.md b/.pytool/Readme.md
index 2fc905b8674fc217044baa2ff721f3c6afa504c9..721e4c109b36e0c37003af24932e1ea8eb886cd1 100644
--- a/.pytool/Readme.md
+++ b/.pytool/Readme.md
@@ -24,7 +24,7 @@
 | ShellPkg             | :heavy_check_mark: | :heavy_check_mark: | Spell checking in audit mode, 3 modules are not being built by DSC
 | SignedCapsulePkg     |
 | SourceLevelDebugPkg  |
-| StandaloneMmPkg      |
+| StandaloneMmPkg      |                    | :heavy_check_mark: |
 | UefiCpuPkg           | :heavy_check_mark: | :heavy_check_mark: | Spell checking in audit mode, 2 binary modules not being built by DSC
 | UefiPayloadPkg       |
 | UnitTestFrameworkPkg | :heavy_check_mark: | :heavy_check_mark: |
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply related	[flat|nested] 34+ messages in thread

* Re: [EXTERNAL] [edk2-devel] [PATCH v1 23/25] StandaloneMmPkg: Add EDK2 Core CI support
  2020-12-09 18:47 ` [PATCH v1 23/25] StandaloneMmPkg: Add EDK2 Core CI support Sami Mujawar
@ 2020-12-09 20:09   ` Bret Barkelew
  2020-12-09 20:42     ` Sami Mujawar
  2020-12-09 22:37     ` Yao, Jiewen
  0 siblings, 2 replies; 34+ messages in thread
From: Bret Barkelew @ 2020-12-09 20:09 UTC (permalink / raw)
  To: devel@edk2.groups.io, sami.mujawar@arm.com
  Cc: Sami Mujawar, ard.biesheuvel@arm.com, Yao, Jiewen,
	lersek@redhat.com, thomas.abraham@arm.com, Sughosh.Ganu@arm.com,
	Matteo.Carlini@arm.com, Ben.Adderson@arm.com, nd@arm.com

[-- Attachment #1: Type: text/plain, Size: 5311 bytes --]

Does StandaloneMm actually need this dependency:
ArmPlatformPkg/ArmPlatformPkg.dec

- Bret

From: Sami Mujawar via groups.io<mailto:sami.mujawar=arm.com@groups.io>
Sent: Wednesday, December 9, 2020 10:49 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
Cc: Sami Mujawar<mailto:sami.mujawar@arm.com>; ard.biesheuvel@arm.com<mailto:ard.biesheuvel@arm.com>; Yao, Jiewen<mailto:jiewen.yao@intel.com>; lersek@redhat.com<mailto:lersek@redhat.com>; thomas.abraham@arm.com<mailto:thomas.abraham@arm.com>; Sughosh.Ganu@arm.com<mailto:Sughosh.Ganu@arm.com>; Matteo.Carlini@arm.com<mailto:Matteo.Carlini@arm.com>; Ben.Adderson@arm.com<mailto:Ben.Adderson@arm.com>; nd@arm.com<mailto:nd@arm.com>
Subject: [EXTERNAL] [edk2-devel] [PATCH v1 23/25] StandaloneMmPkg: Add EDK2 Core CI support

The TianoCore EDKII project has introduced a Core CI infrastructure
using TianoCore EDKII Tools PIP modules:
  * https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpypi.org%2Fproject%2Fedk2-pytool-library%2F&amp;data=04%7C01%7Cbret.barkelew%40microsoft.com%7C7cc29e73d78541c28d9608d89c7323f1%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637431365642465867%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=tixOyEmTzX5XCznDFLfapPvPGJ4dMFtQMknQKsivuFE%3D&amp;reserved=0
  * https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpypi.org%2Fproject%2Fedk2-pytool-extensions%2F&amp;data=04%7C01%7Cbret.barkelew%40microsoft.com%7C7cc29e73d78541c28d9608d89c7323f1%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637431365642465867%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=50ExwE9RbO44Ojgk5HD0qHeSEheAdmRX%2BG4UnrVUVyE%3D&amp;reserved=0

The edk2\.pytool\Readme.md provides information to configure the
environment and to run local builds.

This patch defines the necessary settings for enabling the Core CI
builds for StandaloneMmPkg.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 StandaloneMmPkg/StandaloneMmPkg.ci.yaml | 85 ++++++++++++++++++++
 1 file changed, 85 insertions(+)

diff --git a/StandaloneMmPkg/StandaloneMmPkg.ci.yaml b/StandaloneMmPkg/StandaloneMmPkg.ci.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..110f461815b11b3775f3e488a46e1a35ed29b4b7
--- /dev/null
+++ b/StandaloneMmPkg/StandaloneMmPkg.ci.yaml
@@ -0,0 +1,85 @@
+## @file
+#  CI configuration for StandaloneMmPkg
+#
+#  Copyright (c) 2020, Arm Limited. All rights reserved.<BR>
+#  SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+{
+    ## options defined .pytool/Plugin/CompilerPlugin
+    "CompilerPlugin": {
+        "DscPath": "StandaloneMmPkg.dsc"
+    },
+
+    ## options defined .pytool/Plugin/HostUnitTestCompilerPlugin
+    "HostUnitTestCompilerPlugin": {
+        "DscPath": "" # Don't support this test
+    },
+
+    ## options defined .pytool/Plugin/CharEncodingCheck
+    "CharEncodingCheck": {
+        "IgnoreFiles": []
+    },
+
+    ## options defined .pytool/Plugin/DependencyCheck
+    "DependencyCheck": {
+        "AcceptableDependencies": [
+            "ArmPkg/ArmPkg.dec",
+            "ArmPlatformPkg/ArmPlatformPkg.dec",
+            "EmbeddedPkg/EmbeddedPkg.dec",
+            "StandaloneMmPkg/StandaloneMmPkg.dec",
+            "MdeModulePkg/MdeModulePkg.dec",
+            "MdePkg/MdePkg.dec"
+        ],
+        # For host based unit tests
+        "AcceptableDependencies-HOST_APPLICATION":[
+            "UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec"
+        ],
+        # For UEFI shell based apps
+        "AcceptableDependencies-UEFI_APPLICATION":[],
+        "IgnoreInf": []
+    },
+
+    ## options defined .pytool/Plugin/DscCompleteCheck
+    "DscCompleteCheck": {
+        "IgnoreInf": [],
+        "DscPath": "StandaloneMmPkg.dsc"
+    },
+
+    ## options defined .pytool/Plugin/HostUnitTestDscCompleteCheck
+    "HostUnitTestDscCompleteCheck": {
+        "IgnoreInf": [""],
+        "DscPath": "" # Don't support this test
+    },
+
+    ## options defined .pytool/Plugin/GuidCheck
+    "GuidCheck": {
+        "IgnoreGuidName": [],
+        "IgnoreGuidValue": [],
+        "IgnoreFoldersAndFiles": [],
+        "IgnoreDuplicates": [],
+    },
+
+    ## options defined .pytool/Plugin/LibraryClassCheck
+    "LibraryClassCheck": {
+        "IgnoreHeaderFile": []
+    },
+
+    ## options defined .pytool/Plugin/SpellCheck
+    "SpellCheck": {
+        "AuditOnly": False,
+        "IgnoreFiles": [],           # use gitignore syntax to ignore errors
+                                     # in matching files
+        "ExtendWords": [
+            "Bsymbolic",
+            "FwVol",
+            "mpidr",
+            "mstrict",
+            "schedulable",
+            "StandaloneMMCore",
+        ],           # words to extend to the dictionary for this package
+        "IgnoreStandardPaths": [],   # Standard Plugin defined paths that
+                                     # should be ignore
+        "AdditionalIncludePaths": [] # Additional paths to spell check
+                                     # (wildcards supported)
+    }
+}
--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'







[-- Attachment #2: Type: text/html, Size: 11846 bytes --]

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* Re: [EXTERNAL] [edk2-devel] [PATCH v1 24/25] .azurepipelines: Add StandaloneMmPkg to CI matrix
  2020-12-09 18:47 ` [PATCH v1 24/25] .azurepipelines: Add StandaloneMmPkg to CI matrix Sami Mujawar
@ 2020-12-09 20:10   ` Bret Barkelew
  2020-12-09 20:42     ` Sami Mujawar
  0 siblings, 1 reply; 34+ messages in thread
From: Bret Barkelew @ 2020-12-09 20:10 UTC (permalink / raw)
  To: devel@edk2.groups.io, sami.mujawar@arm.com
  Cc: Sami Mujawar, ard.biesheuvel@arm.com, Yao, Jiewen,
	lersek@redhat.com, thomas.abraham@arm.com, Sughosh.Ganu@arm.com,
	Matteo.Carlini@arm.com, Ben.Adderson@arm.com, nd@arm.com

[-- Attachment #1: Type: text/plain, Size: 1881 bytes --]

Need to update the TARGET_* name.

Probably should add this to the PcAt and Shell target, to keep the builders balanced.

- Bret

From: Sami Mujawar via groups.io<mailto:sami.mujawar=arm.com@groups.io>
Sent: Wednesday, December 9, 2020 10:49 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
Cc: Sami Mujawar<mailto:sami.mujawar@arm.com>; ard.biesheuvel@arm.com<mailto:ard.biesheuvel@arm.com>; Yao, Jiewen<mailto:jiewen.yao@intel.com>; lersek@redhat.com<mailto:lersek@redhat.com>; thomas.abraham@arm.com<mailto:thomas.abraham@arm.com>; Sughosh.Ganu@arm.com<mailto:Sughosh.Ganu@arm.com>; Matteo.Carlini@arm.com<mailto:Matteo.Carlini@arm.com>; Ben.Adderson@arm.com<mailto:Ben.Adderson@arm.com>; nd@arm.com<mailto:nd@arm.com>
Subject: [EXTERNAL] [edk2-devel] [PATCH v1 24/25] .azurepipelines: Add StandaloneMmPkg to CI matrix

Add StandaloneMmPkg to the Core CI matrix.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 .azurepipelines/templates/pr-gate-build-job.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.azurepipelines/templates/pr-gate-build-job.yml b/.azurepipelines/templates/pr-gate-build-job.yml
index 10df21b041a670419e54a3d727bea83f0cbda157..6b1a295aff4fa34ec1cf4ce2b005ac28e7befda2 100644
--- a/.azurepipelines/templates/pr-gate-build-job.yml
+++ b/.azurepipelines/templates/pr-gate-build-job.yml
@@ -37,7 +37,7 @@ jobs:
         Build.Pkgs: 'PcAtChipsetPkg,ShellPkg'
         Build.Targets: 'DEBUG,RELEASE,NO-TARGET'
       TARGET_FMP_FAT_TEST:
-        Build.Pkgs: 'FmpDevicePkg,FatPkg,UnitTestFrameworkPkg,DynamicTablesPkg'
+        Build.Pkgs: 'FmpDevicePkg,FatPkg,UnitTestFrameworkPkg,DynamicTablesPkg,StandaloneMmPkg'
         Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'
       TARGET_CRYPTO:
         Build.Pkgs: 'CryptoPkg'
--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'







[-- Attachment #2: Type: text/html, Size: 4278 bytes --]

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* Re: [EXTERNAL] [edk2-devel] [PATCH v1 25/25] .pytool: CI Settings to support StandaloneMmPkg
  2020-12-09 18:47 ` [PATCH v1 25/25] .pytool: CI Settings to support StandaloneMmPkg Sami Mujawar
@ 2020-12-09 20:10   ` Bret Barkelew
  0 siblings, 0 replies; 34+ messages in thread
From: Bret Barkelew @ 2020-12-09 20:10 UTC (permalink / raw)
  To: devel@edk2.groups.io, sami.mujawar@arm.com
  Cc: Sami Mujawar, ard.biesheuvel@arm.com, Yao, Jiewen,
	lersek@redhat.com, thomas.abraham@arm.com, Sughosh.Ganu@arm.com,
	Matteo.Carlini@arm.com, Ben.Adderson@arm.com, nd@arm.com

[-- Attachment #1: Type: text/plain, Size: 2398 bytes --]

Reviewed-by: Bret Barkelew <bret.barkelew@microsoft.com>

- Bret

From: Sami Mujawar via groups.io<mailto:sami.mujawar=arm.com@groups.io>
Sent: Wednesday, December 9, 2020 10:49 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
Cc: Sami Mujawar<mailto:sami.mujawar@arm.com>; ard.biesheuvel@arm.com<mailto:ard.biesheuvel@arm.com>; Yao, Jiewen<mailto:jiewen.yao@intel.com>; lersek@redhat.com<mailto:lersek@redhat.com>; thomas.abraham@arm.com<mailto:thomas.abraham@arm.com>; Sughosh.Ganu@arm.com<mailto:Sughosh.Ganu@arm.com>; Matteo.Carlini@arm.com<mailto:Matteo.Carlini@arm.com>; Ben.Adderson@arm.com<mailto:Ben.Adderson@arm.com>; nd@arm.com<mailto:nd@arm.com>
Subject: [EXTERNAL] [edk2-devel] [PATCH v1 25/25] .pytool: CI Settings to support StandaloneMmPkg

Update pytools configuration to enable StandaloneMmPkg
and update package status in documentation.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
 .pytool/CISettings.py | 1 +
 .pytool/Readme.md     | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/.pytool/CISettings.py b/.pytool/CISettings.py
index b337d046ae08acbe8e587ff42b56f6fc9ce30930..0748c3f45fecf9256738ed5d233d69732d4fb5be 100644
--- a/.pytool/CISettings.py
+++ b/.pytool/CISettings.py
@@ -52,6 +52,7 @@ class Settings(CiBuildSettingsManager, UpdateSettingsManager, SetupSettingsManag
                 "UefiCpuPkg",
                 "FmpDevicePkg",
                 "ShellPkg",
+                "StandaloneMmPkg",
                 "FatPkg",
                 "CryptoPkg",
                 "UnitTestFrameworkPkg",
diff --git a/.pytool/Readme.md b/.pytool/Readme.md
index 2fc905b8674fc217044baa2ff721f3c6afa504c9..721e4c109b36e0c37003af24932e1ea8eb886cd1 100644
--- a/.pytool/Readme.md
+++ b/.pytool/Readme.md
@@ -24,7 +24,7 @@
 | ShellPkg             | :heavy_check_mark: | :heavy_check_mark: | Spell checking in audit mode, 3 modules are not being built by DSC
 | SignedCapsulePkg     |
 | SourceLevelDebugPkg  |
-| StandaloneMmPkg      |
+| StandaloneMmPkg      |                    | :heavy_check_mark: |
 | UefiCpuPkg           | :heavy_check_mark: | :heavy_check_mark: | Spell checking in audit mode, 2 binary modules not being built by DSC
 | UefiPayloadPkg       |
 | UnitTestFrameworkPkg | :heavy_check_mark: | :heavy_check_mark: |
--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'







[-- Attachment #2: Type: text/html, Size: 5490 bytes --]

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* Re: [EXTERNAL] [edk2-devel] [PATCH v1 24/25] .azurepipelines: Add StandaloneMmPkg to CI matrix
  2020-12-09 20:10   ` [EXTERNAL] [edk2-devel] " Bret Barkelew
@ 2020-12-09 20:42     ` Sami Mujawar
  0 siblings, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 20:42 UTC (permalink / raw)
  To: Bret Barkelew, devel@edk2.groups.io
  Cc: Ard Biesheuvel, Yao, Jiewen, lersek@redhat.com, Thomas Abraham,
	Sughosh Ganu, Matteo Carlini, Ben Adderson, nd

[-- Attachment #1: Type: text/plain, Size: 2553 bytes --]

Hi Bret,

I will update this in the next patch.

Regards,

Sami Mujawar

From: Bret Barkelew <Bret.Barkelew@microsoft.com>
Sent: 09 December 2020 08:10 PM
To: devel@edk2.groups.io; Sami Mujawar <Sami.Mujawar@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>; Ard Biesheuvel <Ard.Biesheuvel@arm.com>; Yao, Jiewen <jiewen.yao@intel.com>; lersek@redhat.com; Thomas Abraham <thomas.abraham@arm.com>; Sughosh Ganu <Sughosh.Ganu@arm.com>; Matteo Carlini <Matteo.Carlini@arm.com>; Ben Adderson <Ben.Adderson@arm.com>; nd <nd@arm.com>
Subject: RE: [EXTERNAL] [edk2-devel] [PATCH v1 24/25] .azurepipelines: Add StandaloneMmPkg to CI matrix

Need to update the TARGET_* name.

Probably should add this to the PcAt and Shell target, to keep the builders balanced.

- Bret

From: Sami Mujawar via groups.io<mailto:sami.mujawar=arm.com@groups.io>
Sent: Wednesday, December 9, 2020 10:49 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
Cc: Sami Mujawar<mailto:sami.mujawar@arm.com>; ard.biesheuvel@arm.com<mailto:ard.biesheuvel@arm.com>; Yao, Jiewen<mailto:jiewen.yao@intel.com>; lersek@redhat.com<mailto:lersek@redhat.com>; thomas.abraham@arm.com<mailto:thomas.abraham@arm.com>; Sughosh.Ganu@arm.com<mailto:Sughosh.Ganu@arm.com>; Matteo.Carlini@arm.com<mailto:Matteo.Carlini@arm.com>; Ben.Adderson@arm.com<mailto:Ben.Adderson@arm.com>; nd@arm.com<mailto:nd@arm.com>
Subject: [EXTERNAL] [edk2-devel] [PATCH v1 24/25] .azurepipelines: Add StandaloneMmPkg to CI matrix

Add StandaloneMmPkg to the Core CI matrix.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com<mailto:sami.mujawar@arm.com>>
---
 .azurepipelines/templates/pr-gate-build-job.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.azurepipelines/templates/pr-gate-build-job.yml b/.azurepipelines/templates/pr-gate-build-job.yml
index 10df21b041a670419e54a3d727bea83f0cbda157..6b1a295aff4fa34ec1cf4ce2b005ac28e7befda2 100644
--- a/.azurepipelines/templates/pr-gate-build-job.yml
+++ b/.azurepipelines/templates/pr-gate-build-job.yml
@@ -37,7 +37,7 @@ jobs:
         Build.Pkgs: 'PcAtChipsetPkg,ShellPkg'
         Build.Targets: 'DEBUG,RELEASE,NO-TARGET'
       TARGET_FMP_FAT_TEST:
-        Build.Pkgs: 'FmpDevicePkg,FatPkg,UnitTestFrameworkPkg,DynamicTablesPkg'
+        Build.Pkgs: 'FmpDevicePkg,FatPkg,UnitTestFrameworkPkg,DynamicTablesPkg,StandaloneMmPkg'
         Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'
       TARGET_CRYPTO:
         Build.Pkgs: 'CryptoPkg'
--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'






[-- Attachment #2: Type: text/html, Size: 6511 bytes --]

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* Re: [EXTERNAL] [edk2-devel] [PATCH v1 23/25] StandaloneMmPkg: Add EDK2 Core CI support
  2020-12-09 20:09   ` [EXTERNAL] [edk2-devel] " Bret Barkelew
@ 2020-12-09 20:42     ` Sami Mujawar
  2020-12-09 22:37     ` Yao, Jiewen
  1 sibling, 0 replies; 34+ messages in thread
From: Sami Mujawar @ 2020-12-09 20:42 UTC (permalink / raw)
  To: Bret Barkelew, devel@edk2.groups.io
  Cc: Ard Biesheuvel, Yao, Jiewen, lersek@redhat.com, Thomas Abraham,
	Sughosh Ganu, Matteo Carlini, Ben Adderson, nd

[-- Attachment #1: Type: text/plain, Size: 6332 bytes --]

Hi Bret,

I think the reference to ArmPlatformPkg.dec can be removed from StandaloneMmCoreEntryPoint.inf which should fix the following error and also remove the dependency.

ERROR - Dependency Check: Invalid Dependency INF: StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf depends on pkg ArmPlatformPkg/ArmPlatformPkg.dec

I will send an updated patch with this fixed.

Regards,

Sami Mujawar
From: Bret Barkelew <Bret.Barkelew@microsoft.com>
Sent: 09 December 2020 08:09 PM
To: devel@edk2.groups.io; Sami Mujawar <Sami.Mujawar@arm.com>
Cc: Sami Mujawar <Sami.Mujawar@arm.com>; Ard Biesheuvel <Ard.Biesheuvel@arm.com>; Yao, Jiewen <jiewen.yao@intel.com>; lersek@redhat.com; Thomas Abraham <thomas.abraham@arm.com>; Sughosh Ganu <Sughosh.Ganu@arm.com>; Matteo Carlini <Matteo.Carlini@arm.com>; Ben Adderson <Ben.Adderson@arm.com>; nd <nd@arm.com>
Subject: RE: [EXTERNAL] [edk2-devel] [PATCH v1 23/25] StandaloneMmPkg: Add EDK2 Core CI support

Does StandaloneMm actually need this dependency:
ArmPlatformPkg/ArmPlatformPkg.dec

- Bret

From: Sami Mujawar via groups.io<mailto:sami.mujawar=arm.com@groups.io>
Sent: Wednesday, December 9, 2020 10:49 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
Cc: Sami Mujawar<mailto:sami.mujawar@arm.com>; ard.biesheuvel@arm.com<mailto:ard.biesheuvel@arm.com>; Yao, Jiewen<mailto:jiewen.yao@intel.com>; lersek@redhat.com<mailto:lersek@redhat.com>; thomas.abraham@arm.com<mailto:thomas.abraham@arm.com>; Sughosh.Ganu@arm.com<mailto:Sughosh.Ganu@arm.com>; Matteo.Carlini@arm.com<mailto:Matteo.Carlini@arm.com>; Ben.Adderson@arm.com<mailto:Ben.Adderson@arm.com>; nd@arm.com<mailto:nd@arm.com>
Subject: [EXTERNAL] [edk2-devel] [PATCH v1 23/25] StandaloneMmPkg: Add EDK2 Core CI support

The TianoCore EDKII project has introduced a Core CI infrastructure
using TianoCore EDKII Tools PIP modules:
  * https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpypi.org%2Fproject%2Fedk2-pytool-library%2F&amp;data=04%7C01%7Cbret.barkelew%40microsoft.com%7C7cc29e73d78541c28d9608d89c7323f1%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637431365642465867%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=tixOyEmTzX5XCznDFLfapPvPGJ4dMFtQMknQKsivuFE%3D&amp;reserved=0
  * https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpypi.org%2Fproject%2Fedk2-pytool-extensions%2F&amp;data=04%7C01%7Cbret.barkelew%40microsoft.com%7C7cc29e73d78541c28d9608d89c7323f1%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637431365642465867%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=50ExwE9RbO44Ojgk5HD0qHeSEheAdmRX%2BG4UnrVUVyE%3D&amp;reserved=0

The edk2\.pytool\Readme.md provides information to configure the
environment and to run local builds.

This patch defines the necessary settings for enabling the Core CI
builds for StandaloneMmPkg.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com<mailto:sami.mujawar@arm.com>>
---
 StandaloneMmPkg/StandaloneMmPkg.ci.yaml | 85 ++++++++++++++++++++
 1 file changed, 85 insertions(+)

diff --git a/StandaloneMmPkg/StandaloneMmPkg.ci.yaml b/StandaloneMmPkg/StandaloneMmPkg.ci.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..110f461815b11b3775f3e488a46e1a35ed29b4b7
--- /dev/null
+++ b/StandaloneMmPkg/StandaloneMmPkg.ci.yaml
@@ -0,0 +1,85 @@
+## @file
+#  CI configuration for StandaloneMmPkg
+#
+#  Copyright (c) 2020, Arm Limited. All rights reserved.<BR>
+#  SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+{
+    ## options defined .pytool/Plugin/CompilerPlugin
+    "CompilerPlugin": {
+        "DscPath": "StandaloneMmPkg.dsc"
+    },
+
+    ## options defined .pytool/Plugin/HostUnitTestCompilerPlugin
+    "HostUnitTestCompilerPlugin": {
+        "DscPath": "" # Don't support this test
+    },
+
+    ## options defined .pytool/Plugin/CharEncodingCheck
+    "CharEncodingCheck": {
+        "IgnoreFiles": []
+    },
+
+    ## options defined .pytool/Plugin/DependencyCheck
+    "DependencyCheck": {
+        "AcceptableDependencies": [
+            "ArmPkg/ArmPkg.dec",
+            "ArmPlatformPkg/ArmPlatformPkg.dec",
+            "EmbeddedPkg/EmbeddedPkg.dec",
+            "StandaloneMmPkg/StandaloneMmPkg.dec",
+            "MdeModulePkg/MdeModulePkg.dec",
+            "MdePkg/MdePkg.dec"
+        ],
+        # For host based unit tests
+        "AcceptableDependencies-HOST_APPLICATION":[
+            "UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec"
+        ],
+        # For UEFI shell based apps
+        "AcceptableDependencies-UEFI_APPLICATION":[],
+        "IgnoreInf": []
+    },
+
+    ## options defined .pytool/Plugin/DscCompleteCheck
+    "DscCompleteCheck": {
+        "IgnoreInf": [],
+        "DscPath": "StandaloneMmPkg.dsc"
+    },
+
+    ## options defined .pytool/Plugin/HostUnitTestDscCompleteCheck
+    "HostUnitTestDscCompleteCheck": {
+        "IgnoreInf": [""],
+        "DscPath": "" # Don't support this test
+    },
+
+    ## options defined .pytool/Plugin/GuidCheck
+    "GuidCheck": {
+        "IgnoreGuidName": [],
+        "IgnoreGuidValue": [],
+        "IgnoreFoldersAndFiles": [],
+        "IgnoreDuplicates": [],
+    },
+
+    ## options defined .pytool/Plugin/LibraryClassCheck
+    "LibraryClassCheck": {
+        "IgnoreHeaderFile": []
+    },
+
+    ## options defined .pytool/Plugin/SpellCheck
+    "SpellCheck": {
+        "AuditOnly": False,
+        "IgnoreFiles": [],           # use gitignore syntax to ignore errors
+                                     # in matching files
+        "ExtendWords": [
+            "Bsymbolic",
+            "FwVol",
+            "mpidr",
+            "mstrict",
+            "schedulable",
+            "StandaloneMMCore",
+        ],           # words to extend to the dictionary for this package
+        "IgnoreStandardPaths": [],   # Standard Plugin defined paths that
+                                     # should be ignore
+        "AdditionalIncludePaths": [] # Additional paths to spell check
+                                     # (wildcards supported)
+    }
+}
--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'






[-- Attachment #2: Type: text/html, Size: 15310 bytes --]

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* Re: [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (24 preceding siblings ...)
  2020-12-09 18:47 ` [PATCH v1 25/25] .pytool: CI Settings to support StandaloneMmPkg Sami Mujawar
@ 2020-12-09 22:31 ` Yao, Jiewen
  2020-12-10  9:27 ` [edk2-devel] " Laszlo Ersek
  26 siblings, 0 replies; 34+ messages in thread
From: Yao, Jiewen @ 2020-12-09 22:31 UTC (permalink / raw)
  To: Sami Mujawar, devel@edk2.groups.io
  Cc: ard.biesheuvel@arm.com, lersek@redhat.com, thomas.abraham@arm.com,
	Sughosh.Ganu@arm.com, Matteo.Carlini@arm.com,
	Ben.Adderson@arm.com, nd@arm.com

Acked-by: Jiewen Yao <Jiewen.yao@intel.com>

> -----Original Message-----
> From: Sami Mujawar <sami.mujawar@arm.com>
> Sent: Thursday, December 10, 2020 2:47 AM
> To: devel@edk2.groups.io
> Cc: Sami Mujawar <sami.mujawar@arm.com>; ard.biesheuvel@arm.com; Yao,
> Jiewen <jiewen.yao@intel.com>; lersek@redhat.com;
> thomas.abraham@arm.com; Sughosh.Ganu@arm.com;
> Matteo.Carlini@arm.com; Ben.Adderson@arm.com; nd@arm.com
> Subject: [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg
> 
> The EDKII Core CI runs the ECC tool that checks for good coding
> practices and the coding standard. This patch series fixes the
> ECC errors reported in the StandaloneMmPkg and enables support
> for EDKII Core CI.
> 
> The changes can be seen at:
> https://github.com/samimujawar/edk2/tree/1516_standalonemmpkg_ci_v1
> 
> Sami Mujawar (25):
>   StandaloneMmPkg: Add library header files to DEC
>   StandaloneMmPkg: Add library files to DSC
>   StandaloneMmPkg: Fix spell check reported errors
>   StandaloneMmPkg: Fix ECC error 9002 in Core dispatcher
>   StandaloneMmPkg: Fix ECC error 1001 in SMM Memory pool management
>   StandaloneMmPkg: Fix ECC error 3002 in StandaloneMmCpu
>   StandaloneMmPkg: Fix ECC error 4002 in FwVol helper
>   StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCoreEntryPoint
>   StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCpu
>   StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCore
>   StandaloneMmPkg: Fix ECC error 10014 in StandaloneMmCpu
>   StandaloneMmPkg: Fix ECC error 4002 and 9002 in StandaloneMmCore
>   StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCoreEntryPoint
>   StandaloneMmPkg: Fix ECC error 9002 in StandaloneMmMemLib
>   StandaloneMmPkg: Fix ECC error 9002 in StandaloneMmCoreEntryPoint
>   StandaloneMmPkg: Fix ECC error 9003 in StandaloneMmCoreEntryPoint
>   StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCpu
>   StandaloneMmPkg: Fix ECC error 9001 in StandaloneMmCpu
>   StandaloneMmPkg: Fix ECC error 9001 in Standalone MM Core
>   StandaloneMmPkg: Fix ECC error 9002 in CoreMemoryAllocationLib
>   StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCpu
>   StandaloneMmPkg: Fix ECC error 8005 in StandaloneMmCoreEntryPoint
>   StandaloneMmPkg: Add EDK2 Core CI support
>   .azurepipelines: Add StandaloneMmPkg to CI matrix
>   .pytool: CI Settings to support StandaloneMmPkg
> 
>  .azurepipelines/templates/pr-gate-build-job.yml
> |  2 +-
>  .pytool/CISettings.py                                                                               |  1 +
>  .pytool/Readme.md                                                                                   |  2 +-
>  StandaloneMmPkg/Core/Dependency.c
> |  6 +-
>  StandaloneMmPkg/Core/Dispatcher.c
> | 49 ++++++-----
>  StandaloneMmPkg/Core/FwVol.c
> | 36 +++++----
>  StandaloneMmPkg/Core/Locate.c
> |  6 +-
>  StandaloneMmPkg/Core/Mmi.c                                                                          |
> 4 +-
>  StandaloneMmPkg/Core/Pool.c                                                                         |
> 6 +-
>  StandaloneMmPkg/Core/StandaloneMmCore.c
> | 37 ++++++---
>  StandaloneMmPkg/Core/StandaloneMmCore.h
> | 12 +--
>  StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c
> | 56 ++++++++++---
> 
> StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.
> c                                   | 34 ++++++--
> 
> StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.
> h                                   | 31 ++++++-
> 
> StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.
> inf                                 |  9 +--
>  StandaloneMmPkg/Include/Guid/MmCoreData.h
> |  6 +-
> 
> StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.
> h                                | 47 ++++++-----
>  StandaloneMmPkg/Include/Library/StandaloneMmDriverEntryPoint.h
> |  4 +-
>  StandaloneMmPkg/Include/Library/StandaloneMmMemLib.h
> |  6 +-
> 
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateH
> obList.c                          |  6 +-
> 
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermi
> ssions.c                         | 53 +++++++++++-
> 
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Standalo
> neMmCoreEntryPoint.c             | 32 +++++---
> 
> StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/Standal
> oneMmCoreMemoryAllocationLib.c   |  6 +-
> 
> StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/Standal
> oneMmCoreMemoryAllocationLib.inf |  4 +-
>  StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.c
> | 10 +--
> 
> StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependenc
> y.c                                 |  4 +-
> 
> StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependenc
> y.inf                               |  4 +-
>  StandaloneMmPkg/StandaloneMmPkg.ci.yaml
> | 85 ++++++++++++++++++++
>  StandaloneMmPkg/StandaloneMmPkg.dec
> | 20 ++++-
>  StandaloneMmPkg/StandaloneMmPkg.dsc
> | 15 +++-
>  30 files changed, 439 insertions(+), 154 deletions(-)
>  create mode 100644 StandaloneMmPkg/StandaloneMmPkg.ci.yaml
> 
> --
> 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'


^ permalink raw reply	[flat|nested] 34+ messages in thread

* Re: [EXTERNAL] [edk2-devel] [PATCH v1 23/25] StandaloneMmPkg: Add EDK2 Core CI support
  2020-12-09 20:09   ` [EXTERNAL] [edk2-devel] " Bret Barkelew
  2020-12-09 20:42     ` Sami Mujawar
@ 2020-12-09 22:37     ` Yao, Jiewen
  1 sibling, 0 replies; 34+ messages in thread
From: Yao, Jiewen @ 2020-12-09 22:37 UTC (permalink / raw)
  To: Bret Barkelew, devel@edk2.groups.io, sami.mujawar@arm.com
  Cc: Sami Mujawar, ard.biesheuvel@arm.com, lersek@redhat.com,
	thomas.abraham@arm.com, Sughosh.Ganu@arm.com,
	Matteo.Carlini@arm.com, Ben.Adderson@arm.com, nd@arm.com

[-- Attachment #1: Type: text/plain, Size: 6094 bytes --]

Good catch Bret.

Currently, ArmPlatformPkg.dec is in StandaloneMmCoreEntryPoint.inf.

But I don't find any real dependency. ArmSvcLib is in ArmPkg.dec.

Hi Sami
Is that possible that we just remove ArmPlatformPkg.dec is in StandaloneMmCoreEntryPoint.inf.

Thank you
Yao Jiewen

From: Bret Barkelew <Bret.Barkelew@microsoft.com>
Sent: Thursday, December 10, 2020 4:09 AM
To: devel@edk2.groups.io; sami.mujawar@arm.com
Cc: Sami Mujawar <sami.mujawar@arm.com>; ard.biesheuvel@arm.com; Yao, Jiewen <jiewen.yao@intel.com>; lersek@redhat.com; thomas.abraham@arm.com; Sughosh.Ganu@arm.com; Matteo.Carlini@arm.com; Ben.Adderson@arm.com; nd@arm.com
Subject: RE: [EXTERNAL] [edk2-devel] [PATCH v1 23/25] StandaloneMmPkg: Add EDK2 Core CI support

Does StandaloneMm actually need this dependency:
ArmPlatformPkg/ArmPlatformPkg.dec

- Bret

From: Sami Mujawar via groups.io<mailto:sami.mujawar=arm.com@groups.io>
Sent: Wednesday, December 9, 2020 10:49 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>
Cc: Sami Mujawar<mailto:sami.mujawar@arm.com>; ard.biesheuvel@arm.com<mailto:ard.biesheuvel@arm.com>; Yao, Jiewen<mailto:jiewen.yao@intel.com>; lersek@redhat.com<mailto:lersek@redhat.com>; thomas.abraham@arm.com<mailto:thomas.abraham@arm.com>; Sughosh.Ganu@arm.com<mailto:Sughosh.Ganu@arm.com>; Matteo.Carlini@arm.com<mailto:Matteo.Carlini@arm.com>; Ben.Adderson@arm.com<mailto:Ben.Adderson@arm.com>; nd@arm.com<mailto:nd@arm.com>
Subject: [EXTERNAL] [edk2-devel] [PATCH v1 23/25] StandaloneMmPkg: Add EDK2 Core CI support

The TianoCore EDKII project has introduced a Core CI infrastructure
using TianoCore EDKII Tools PIP modules:
  * https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpypi.org%2Fproject%2Fedk2-pytool-library%2F&amp;data=04%7C01%7Cbret.barkelew%40microsoft.com%7C7cc29e73d78541c28d9608d89c7323f1%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637431365642465867%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=tixOyEmTzX5XCznDFLfapPvPGJ4dMFtQMknQKsivuFE%3D&amp;reserved=0
  * https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpypi.org%2Fproject%2Fedk2-pytool-extensions%2F&amp;data=04%7C01%7Cbret.barkelew%40microsoft.com%7C7cc29e73d78541c28d9608d89c7323f1%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637431365642465867%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=50ExwE9RbO44Ojgk5HD0qHeSEheAdmRX%2BG4UnrVUVyE%3D&amp;reserved=0

The edk2\.pytool\Readme.md provides information to configure the
environment and to run local builds.

This patch defines the necessary settings for enabling the Core CI
builds for StandaloneMmPkg.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com<mailto:sami.mujawar@arm.com>>
---
 StandaloneMmPkg/StandaloneMmPkg.ci.yaml | 85 ++++++++++++++++++++
 1 file changed, 85 insertions(+)

diff --git a/StandaloneMmPkg/StandaloneMmPkg.ci.yaml b/StandaloneMmPkg/StandaloneMmPkg.ci.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..110f461815b11b3775f3e488a46e1a35ed29b4b7
--- /dev/null
+++ b/StandaloneMmPkg/StandaloneMmPkg.ci.yaml
@@ -0,0 +1,85 @@
+## @file
+#  CI configuration for StandaloneMmPkg
+#
+#  Copyright (c) 2020, Arm Limited. All rights reserved.<BR>
+#  SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+{
+    ## options defined .pytool/Plugin/CompilerPlugin
+    "CompilerPlugin": {
+        "DscPath": "StandaloneMmPkg.dsc"
+    },
+
+    ## options defined .pytool/Plugin/HostUnitTestCompilerPlugin
+    "HostUnitTestCompilerPlugin": {
+        "DscPath": "" # Don't support this test
+    },
+
+    ## options defined .pytool/Plugin/CharEncodingCheck
+    "CharEncodingCheck": {
+        "IgnoreFiles": []
+    },
+
+    ## options defined .pytool/Plugin/DependencyCheck
+    "DependencyCheck": {
+        "AcceptableDependencies": [
+            "ArmPkg/ArmPkg.dec",
+            "ArmPlatformPkg/ArmPlatformPkg.dec",
+            "EmbeddedPkg/EmbeddedPkg.dec",
+            "StandaloneMmPkg/StandaloneMmPkg.dec",
+            "MdeModulePkg/MdeModulePkg.dec",
+            "MdePkg/MdePkg.dec"
+        ],
+        # For host based unit tests
+        "AcceptableDependencies-HOST_APPLICATION":[
+            "UnitTestFrameworkPkg/UnitTestFrameworkPkg.dec"
+        ],
+        # For UEFI shell based apps
+        "AcceptableDependencies-UEFI_APPLICATION":[],
+        "IgnoreInf": []
+    },
+
+    ## options defined .pytool/Plugin/DscCompleteCheck
+    "DscCompleteCheck": {
+        "IgnoreInf": [],
+        "DscPath": "StandaloneMmPkg.dsc"
+    },
+
+    ## options defined .pytool/Plugin/HostUnitTestDscCompleteCheck
+    "HostUnitTestDscCompleteCheck": {
+        "IgnoreInf": [""],
+        "DscPath": "" # Don't support this test
+    },
+
+    ## options defined .pytool/Plugin/GuidCheck
+    "GuidCheck": {
+        "IgnoreGuidName": [],
+        "IgnoreGuidValue": [],
+        "IgnoreFoldersAndFiles": [],
+        "IgnoreDuplicates": [],
+    },
+
+    ## options defined .pytool/Plugin/LibraryClassCheck
+    "LibraryClassCheck": {
+        "IgnoreHeaderFile": []
+    },
+
+    ## options defined .pytool/Plugin/SpellCheck
+    "SpellCheck": {
+        "AuditOnly": False,
+        "IgnoreFiles": [],           # use gitignore syntax to ignore errors
+                                     # in matching files
+        "ExtendWords": [
+            "Bsymbolic",
+            "FwVol",
+            "mpidr",
+            "mstrict",
+            "schedulable",
+            "StandaloneMMCore",
+        ],           # words to extend to the dictionary for this package
+        "IgnoreStandardPaths": [],   # Standard Plugin defined paths that
+                                     # should be ignore
+        "AdditionalIncludePaths": [] # Additional paths to spell check
+                                     # (wildcards supported)
+    }
+}
--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'






[-- Attachment #2: Type: text/html, Size: 13780 bytes --]

^ permalink raw reply related	[flat|nested] 34+ messages in thread

* Re: [edk2-devel] [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg
  2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
                   ` (25 preceding siblings ...)
  2020-12-09 22:31 ` [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Yao, Jiewen
@ 2020-12-10  9:27 ` Laszlo Ersek
  26 siblings, 0 replies; 34+ messages in thread
From: Laszlo Ersek @ 2020-12-10  9:27 UTC (permalink / raw)
  To: devel, sami.mujawar
  Cc: ard.biesheuvel, jiewen.yao, thomas.abraham, Sughosh.Ganu,
	Matteo.Carlini, Ben.Adderson, nd

Hi Sami,

On 12/09/20 19:46, Sami Mujawar wrote:
> The EDKII Core CI runs the ECC tool that checks for good coding
> practices and the coding standard. This patch series fixes the
> ECC errors reported in the StandaloneMmPkg and enables support
> for EDKII Core CI.

thanks for the CC. I totally don't have brain capacity for reviewing
this series. I'm really sorry. (I just thought it's better to be honest
about it.)

Thanks
Laszlo

> 
> The changes can be seen at:
> https://github.com/samimujawar/edk2/tree/1516_standalonemmpkg_ci_v1
> 
> Sami Mujawar (25):
>   StandaloneMmPkg: Add library header files to DEC
>   StandaloneMmPkg: Add library files to DSC
>   StandaloneMmPkg: Fix spell check reported errors
>   StandaloneMmPkg: Fix ECC error 9002 in Core dispatcher
>   StandaloneMmPkg: Fix ECC error 1001 in SMM Memory pool management
>   StandaloneMmPkg: Fix ECC error 3002 in StandaloneMmCpu
>   StandaloneMmPkg: Fix ECC error 4002 in FwVol helper
>   StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCoreEntryPoint
>   StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCpu
>   StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCore
>   StandaloneMmPkg: Fix ECC error 10014 in StandaloneMmCpu
>   StandaloneMmPkg: Fix ECC error 4002 and 9002 in StandaloneMmCore
>   StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCoreEntryPoint
>   StandaloneMmPkg: Fix ECC error 9002 in StandaloneMmMemLib
>   StandaloneMmPkg: Fix ECC error 9002 in StandaloneMmCoreEntryPoint
>   StandaloneMmPkg: Fix ECC error 9003 in StandaloneMmCoreEntryPoint
>   StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCpu
>   StandaloneMmPkg: Fix ECC error 9001 in StandaloneMmCpu
>   StandaloneMmPkg: Fix ECC error 9001 in Standalone MM Core
>   StandaloneMmPkg: Fix ECC error 9002 in CoreMemoryAllocationLib
>   StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCpu
>   StandaloneMmPkg: Fix ECC error 8005 in StandaloneMmCoreEntryPoint
>   StandaloneMmPkg: Add EDK2 Core CI support
>   .azurepipelines: Add StandaloneMmPkg to CI matrix
>   .pytool: CI Settings to support StandaloneMmPkg
> 
>  .azurepipelines/templates/pr-gate-build-job.yml                                                     |  2 +-
>  .pytool/CISettings.py                                                                               |  1 +
>  .pytool/Readme.md                                                                                   |  2 +-
>  StandaloneMmPkg/Core/Dependency.c                                                                   |  6 +-
>  StandaloneMmPkg/Core/Dispatcher.c                                                                   | 49 ++++++-----
>  StandaloneMmPkg/Core/FwVol.c                                                                        | 36 +++++----
>  StandaloneMmPkg/Core/Locate.c                                                                       |  6 +-
>  StandaloneMmPkg/Core/Mmi.c                                                                          |  4 +-
>  StandaloneMmPkg/Core/Pool.c                                                                         |  6 +-
>  StandaloneMmPkg/Core/StandaloneMmCore.c                                                             | 37 ++++++---
>  StandaloneMmPkg/Core/StandaloneMmCore.h                                                             | 12 +--
>  StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c                                       | 56 ++++++++++---
>  StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.c                                   | 34 ++++++--
>  StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.h                                   | 31 ++++++-
>  StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.inf                                 |  9 +--
>  StandaloneMmPkg/Include/Guid/MmCoreData.h                                                           |  6 +-
>  StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h                                | 47 ++++++-----
>  StandaloneMmPkg/Include/Library/StandaloneMmDriverEntryPoint.h                                      |  4 +-
>  StandaloneMmPkg/Include/Library/StandaloneMmMemLib.h                                                |  6 +-
>  StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHobList.c                          |  6 +-
>  StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermissions.c                         | 53 +++++++++++-
>  StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c             | 32 +++++---
>  StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.c   |  6 +-
>  StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.inf |  4 +-
>  StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.c                                     | 10 +--
>  StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.c                                 |  4 +-
>  StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf                               |  4 +-
>  StandaloneMmPkg/StandaloneMmPkg.ci.yaml                                                             | 85 ++++++++++++++++++++
>  StandaloneMmPkg/StandaloneMmPkg.dec                                                                 | 20 ++++-
>  StandaloneMmPkg/StandaloneMmPkg.dsc                                                                 | 15 +++-
>  30 files changed, 439 insertions(+), 154 deletions(-)
>  create mode 100644 StandaloneMmPkg/StandaloneMmPkg.ci.yaml
> 


^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2020-12-10  9:28 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-09 18:46 [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Sami Mujawar
2020-12-09 18:46 ` [PATCH v1 01/25] StandaloneMmPkg: Add library header files to DEC Sami Mujawar
2020-12-09 18:46 ` [PATCH v1 02/25] StandaloneMmPkg: Add library files to DSC Sami Mujawar
2020-12-09 18:46 ` [PATCH v1 03/25] StandaloneMmPkg: Fix spell check reported errors Sami Mujawar
2020-12-09 18:46 ` [PATCH v1 04/25] StandaloneMmPkg: Fix ECC error 9002 in Core dispatcher Sami Mujawar
2020-12-09 18:46 ` [PATCH v1 05/25] StandaloneMmPkg: Fix ECC error 1001 in SMM Memory pool management Sami Mujawar
2020-12-09 18:46 ` [PATCH v1 06/25] StandaloneMmPkg: Fix ECC error 3002 in StandaloneMmCpu Sami Mujawar
2020-12-09 18:46 ` [PATCH v1 07/25] StandaloneMmPkg: Fix ECC error 4002 in FwVol helper Sami Mujawar
2020-12-09 18:46 ` [PATCH v1 08/25] StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCoreEntryPoint Sami Mujawar
2020-12-09 18:46 ` [PATCH v1 09/25] StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCpu Sami Mujawar
2020-12-09 18:46 ` [PATCH v1 10/25] StandaloneMmPkg: Fix ECC error 5007 in StandaloneMmCore Sami Mujawar
2020-12-09 18:46 ` [PATCH v1 11/25] StandaloneMmPkg: Fix ECC error 10014 in StandaloneMmCpu Sami Mujawar
2020-12-09 18:46 ` [PATCH v1 12/25] StandaloneMmPkg: Fix ECC error 4002 and 9002 in StandaloneMmCore Sami Mujawar
2020-12-09 18:46 ` [PATCH v1 13/25] StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCoreEntryPoint Sami Mujawar
2020-12-09 18:46 ` [PATCH v1 14/25] StandaloneMmPkg: Fix ECC error 9002 in StandaloneMmMemLib Sami Mujawar
2020-12-09 18:47 ` [PATCH v1 15/25] StandaloneMmPkg: Fix ECC error 9002 in StandaloneMmCoreEntryPoint Sami Mujawar
2020-12-09 18:47 ` [PATCH v1 16/25] StandaloneMmPkg: Fix ECC error 9003 " Sami Mujawar
2020-12-09 18:47 ` [PATCH v1 17/25] StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCpu Sami Mujawar
2020-12-09 18:47 ` [PATCH v1 18/25] StandaloneMmPkg: Fix ECC error 9001 " Sami Mujawar
2020-12-09 18:47 ` [PATCH v1 19/25] StandaloneMmPkg: Fix ECC error 9001 in Standalone MM Core Sami Mujawar
2020-12-09 18:47 ` [PATCH v1 20/25] StandaloneMmPkg: Fix ECC error 9002 in CoreMemoryAllocationLib Sami Mujawar
2020-12-09 18:47 ` [PATCH v1 21/25] StandaloneMmPkg: Fix ECC error 4002 in StandaloneMmCpu Sami Mujawar
2020-12-09 18:47 ` [PATCH v1 22/25] StandaloneMmPkg: Fix ECC error 8005 in StandaloneMmCoreEntryPoint Sami Mujawar
2020-12-09 18:47 ` [PATCH v1 23/25] StandaloneMmPkg: Add EDK2 Core CI support Sami Mujawar
2020-12-09 20:09   ` [EXTERNAL] [edk2-devel] " Bret Barkelew
2020-12-09 20:42     ` Sami Mujawar
2020-12-09 22:37     ` Yao, Jiewen
2020-12-09 18:47 ` [PATCH v1 24/25] .azurepipelines: Add StandaloneMmPkg to CI matrix Sami Mujawar
2020-12-09 20:10   ` [EXTERNAL] [edk2-devel] " Bret Barkelew
2020-12-09 20:42     ` Sami Mujawar
2020-12-09 18:47 ` [PATCH v1 25/25] .pytool: CI Settings to support StandaloneMmPkg Sami Mujawar
2020-12-09 20:10   ` [EXTERNAL] [edk2-devel] " Bret Barkelew
2020-12-09 22:31 ` [PATCH v1 00/25] Enable Core CI support for StandaloneMmPkg Yao, Jiewen
2020-12-10  9:27 ` [edk2-devel] " Laszlo Ersek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox