* [PATCH v3 1/2] DynamicTablesPkg: Fix issues reported by EDKII CI
2020-08-07 16:12 [PATCH v3 0/2] Add EDKII CI support for DynamicTablesPkg Sami Mujawar
@ 2020-08-07 16:12 ` Sami Mujawar
2020-08-07 16:12 ` [PATCH v3 2/2] DynamicTablesPkg: Add EDK2 Core CI support Sami Mujawar
1 sibling, 0 replies; 3+ messages in thread
From: Sami Mujawar @ 2020-08-07 16:12 UTC (permalink / raw)
To: devel
Cc: Sami Mujawar, Alexei.Fedorov, sean.brogan, liming.gao,
michael.d.kinney, Bret.Barkelew, ard.biesheuvel, Matteo.Carlini,
Laura.Moretta, 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/
More information on configuring the environment and running the
builds can be found in edk2\.pytool\Readme.md
This patch fixes the issues reported by the CI system mainly around
fixing typo errors and package dec and dsc files. A subsequent patch
enables the CI builds for the DynamicTablesPkg.
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
---
Notes:
v3:
- No code change. Splitting v2 patch series into two series. [Sami]
The v3 series contains the patches for DynamicTablesPkg.
Ref: https://edk2.groups.io/g/devel/message/63255
v2:
- Added INF files in components section to prevent [Sami]
DscCompleteCheck from failing.
- Why are there modules not built during ci (The files [Sean]
listed in the DscCompleteCheck[IgnoreInf] list)
v1:
- Fix for various issues reported by the EDKII CI [Sami]
DynamicTablesPkg/DynamicTables.dsc.inc | 14 ++++++++++++++
DynamicTablesPkg/DynamicTablesPkg.dec | 7 +++++--
DynamicTablesPkg/DynamicTablesPkg.dsc | 4 ++--
DynamicTablesPkg/Include/ArmNameSpaceObjects.h | 6 +++---
DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c | 4 ++--
DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c | 8 ++++----
DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c | 12 ++++++------
DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c | 6 +++---
DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/SratGenerator.c | 4 ++--
DynamicTablesPkg/Readme.md | 2 +-
10 files changed, 42 insertions(+), 25 deletions(-)
diff --git a/DynamicTablesPkg/DynamicTables.dsc.inc b/DynamicTablesPkg/DynamicTables.dsc.inc
index 0bf7a77cf2dcf82135f52a834774769bb06ba21a..48ad8833f48d0c56ec3468f4a89ca56da1a6c56c 100644
--- a/DynamicTablesPkg/DynamicTables.dsc.inc
+++ b/DynamicTablesPkg/DynamicTables.dsc.inc
@@ -17,6 +17,20 @@ [LibraryClasses.common]
[Components.common]
#
+ # Generators
+ #
+ DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/AcpiDbg2LibArm.inf
+ DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/AcpiFadtLibArm.inf
+ DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/AcpiGtdtLibArm.inf
+ DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/AcpiIortLibArm.inf
+ DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/AcpiMadtLibArm.inf
+ DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/AcpiMcfgLibArm.inf
+ DynamicTablesPkg/Library/Acpi/Arm/AcpiPpttLibArm/AcpiPpttLibArm.inf
+ DynamicTablesPkg/Library/Acpi/Arm/AcpiRawLibArm/AcpiRawLibArm.inf
+ DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/AcpiSpcrLibArm.inf
+ DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/AcpiSratLibArm.inf
+
+ #
# Dynamic Table Factory Dxe
#
DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.inf {
diff --git a/DynamicTablesPkg/DynamicTablesPkg.dec b/DynamicTablesPkg/DynamicTablesPkg.dec
index cf453faf590368c2e480e65a09cef4b5fbdc70d1..6cb8a0b4f2c91b59e888951fda034bfdc56d95e1 100644
--- a/DynamicTablesPkg/DynamicTablesPkg.dec
+++ b/DynamicTablesPkg/DynamicTablesPkg.dec
@@ -1,7 +1,7 @@
## @file
# dec file for Dynamic Tables Framework.
#
-# Copyright (c) 2017 - 2018, ARM Limited. All rights reserved.<BR>
+# Copyright (c) 2017 - 2020, ARM Limited. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
@@ -16,8 +16,11 @@ [Defines]
[Includes]
Include
+[LibraryClasses]
+ ## @libraryclass Defines a set of helper methods.
+ TableHelperLib|Include/Library/TableHelperLib.h
+
[Protocols]
-
# Configuration Manager Protocol GUID
gEdkiiConfigurationManagerProtocolGuid = { 0xd85a4835, 0x5a82, 0x4894, { 0xac, 0x2, 0x70, 0x6f, 0x43, 0xd5, 0x97, 0x8e } }
diff --git a/DynamicTablesPkg/DynamicTablesPkg.dsc b/DynamicTablesPkg/DynamicTablesPkg.dsc
index 02f04447fffa867c602c748279c041bd566a7fd6..5fb30a9315a75750a7d4c3e802c610a7991111c7 100644
--- a/DynamicTablesPkg/DynamicTablesPkg.dsc
+++ b/DynamicTablesPkg/DynamicTablesPkg.dsc
@@ -2,7 +2,7 @@
# Dsc file for Dynamic Tables Framework.
#
# Copyright (c) 2019, Linaro Limited. All rights reserved.<BR>
-# Copyright (c) 2019, ARM Limited. All rights reserved.<BR>
+# Copyright (c) 2019 - 2020, ARM Limited. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
@@ -39,7 +39,7 @@ [Components.common]
DynamicTablesPkg/Library/Common/TableHelperLib/TableHelperLib.inf
[BuildOptions]
- *_*_*_CC_FLAGS = -DDISABLE_NEW_DEPRECATED_INTERFACES
+ *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
!ifdef STATIC_ANALYSIS
# Check all rules
diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
index 2f326960313c1d7658029205e5cb09b89b0cdd88..57a282d5cb6883d0dabb74ceac7c8905ed3ef43a 100644
--- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
+++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
@@ -1,6 +1,6 @@
/** @file
- Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
+ Copyright (c) 2017 - 2020, ARM Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
@@ -682,7 +682,7 @@ typedef struct CmArmProcHierarchyInfo {
UINT32 NoOfPrivateResources;
/// Token of the array which contains references to the resources private to
/// this CM_ARM_PROC_HIERARCHY_INFO instance. This field is ignored if
- /// the NoOfPrivateResources is 0, in which case it is recomended to set
+ /// the NoOfPrivateResources is 0, in which case it is recommended to set
/// this field to CM_NULL_TOKEN.
CM_OBJECT_TOKEN PrivateResourcesArrayToken;
} CM_ARM_PROC_HIERARCHY_INFO;
@@ -795,7 +795,7 @@ typedef struct CmArmDeviceHandlePci {
/// PCI Bus Number - Max 256 busses (Bits 15:8 of BDF)
UINT8 BusNumber;
- /// PCI Device Mumber - Max 32 devices (Bits 7:3 of BDF)
+ /// PCI Device Number - Max 32 devices (Bits 7:3 of BDF)
UINT8 DeviceNumber;
/// PCI Function Number - Max 8 functions (Bits 2:0 of BDF)
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c
index 51c843d25f75388104694855ce133b3d61860196..172d99f61cf36e7e65d62249960fd7527d8dae00 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c
@@ -1,7 +1,7 @@
/** @file
DBG2 Table Generator
- Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
+ Copyright (c) 2017 - 2020, ARM Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
@par Reference(s):
@@ -323,7 +323,7 @@ BuildDbg2Table (
Status = EFI_INVALID_PARAMETER;
DEBUG ((
DEBUG_ERROR,
- "ERROR: DBG2: Uart port sybtype is invalid. PortSubtype = 0x%x\n",
+ "ERROR: DBG2: Uart port subtype is invalid. PortSubtype = 0x%x\n",
SerialPortInfo->PortSubtype
));
goto error_handler;
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
index 65d006c89e668c8b2b8a14326cddf1b69979597f..349caa8006bc34ca789cb3e321a0f87c0cd4ff0d 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
@@ -1,7 +1,7 @@
/** @file
IORT Table Generator
- Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
+ Copyright (c) 2017 - 2020, ARM Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
@par Reference(s):
@@ -1053,7 +1053,7 @@ AddRootComplexNodes (
**/
STATIC
EFI_STATUS
-AddSmmuInterrruptArray (
+AddSmmuInterruptArray (
IN CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL * CONST CfgMgrProtocol,
IN OUT EFI_ACPI_6_0_IO_REMAPPING_SMMU_INT * InterruptArray,
IN UINT32 InterruptCount,
@@ -1199,7 +1199,7 @@ AddSmmuV1V2Nodes (
SmmuNode->SMMU_NSgCfgIrptFlags = NodeList->SMMU_NSgCfgIrptFlags;
// Add Context Interrupt Array
- Status = AddSmmuInterrruptArray (
+ Status = AddSmmuInterruptArray (
CfgMgrProtocol,
ContextInterruptArray,
SmmuNode->NumContextInterrupts,
@@ -1217,7 +1217,7 @@ AddSmmuV1V2Nodes (
// Add PMU Interrupt Array
if ((SmmuNode->NumPmuInterrupts > 0) &&
(NodeList->PmuInterruptToken != CM_NULL_TOKEN)) {
- Status = AddSmmuInterrruptArray (
+ Status = AddSmmuInterruptArray (
CfgMgrProtocol,
PmuInterruptArray,
SmmuNode->NumPmuInterrupts,
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c
index 2651ca15414694c494678bcec655fc882ee2cc0c..7ec800f51cb0dbee0da46a829863647fd1839c23 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c
@@ -1,7 +1,7 @@
/** @file
MADT Table Generator
- Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
+ Copyright (c) 2017 - 2020, ARM Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
@par Reference(s):
@@ -332,24 +332,24 @@ AddGICMsiFrameInfoList (
/** Update the GIC Redistributor Information.
@param [in] Gicr Pointer to GIC Redistributor structure.
- @param [in] GicRedisributorInfo Pointer to the GIC Redistributor Info.
+ @param [in] GicRedistributorInfo Pointer to the GIC Redistributor Info.
**/
STATIC
VOID
AddGICRedistributor (
IN EFI_ACPI_6_3_GICR_STRUCTURE * CONST Gicr,
- IN CONST CM_ARM_GIC_REDIST_INFO * CONST GicRedisributorInfo
+ IN CONST CM_ARM_GIC_REDIST_INFO * CONST GicRedistributorInfo
)
{
ASSERT (Gicr != NULL);
- ASSERT (GicRedisributorInfo != NULL);
+ ASSERT (GicRedistributorInfo != NULL);
Gicr->Type = EFI_ACPI_6_3_GICR;
Gicr->Length = sizeof (EFI_ACPI_6_3_GICR_STRUCTURE);
Gicr->Reserved = EFI_ACPI_RESERVED_WORD;
Gicr->DiscoveryRangeBaseAddress =
- GicRedisributorInfo->DiscoveryRangeBaseAddress;
- Gicr->DiscoveryRangeLength = GicRedisributorInfo->DiscoveryRangeLength;
+ GicRedistributorInfo->DiscoveryRangeBaseAddress;
+ Gicr->DiscoveryRangeLength = GicRedistributorInfo->DiscoveryRangeLength;
}
/** Add the GIC Redistributor Information to the MADT Table.
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c
index 4b2580da7df9b4472ae9bcc3df2138a9e13004d0..b80e98ee7e143e39c540557d53a4129bf4ac5eb7 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c
@@ -1,7 +1,7 @@
/** @file
SPCR Table Generator
- Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
+ Copyright (c) 2017 - 2020, ARM Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
@par Reference(s):
@@ -189,7 +189,7 @@ BuildSpcrTable (
Status = EFI_INVALID_PARAMETER;
DEBUG ((
DEBUG_ERROR,
- "ERROR: SPCR: Uart port sybtype is invalid. PortSubtype = 0x%x\n",
+ "ERROR: SPCR: Uart port subtype is invalid. PortSubtype = 0x%x\n",
SerialPortInfo->PortSubtype
));
goto error_handler;
@@ -224,7 +224,7 @@ BuildSpcrTable (
Status = EFI_INVALID_PARAMETER;
DEBUG ((
DEBUG_ERROR,
- "ERROR: SPCR: Invalid Port Sybtype (must be < 256). Status = %r\n",
+ "ERROR: SPCR: Invalid Port subtype (must be < 256). Status = %r\n",
Status
));
goto error_handler;
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/SratGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/SratGenerator.c
index 620e2929ef2460b6bf318fa85f8bca984608b955..6844bb40eb02e994bb6a4edfaf25689685ca01fc 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/SratGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSratLibArm/SratGenerator.c
@@ -1,7 +1,7 @@
/** @file
SRAT Table Generator
- Copyright (c) 2019, ARM Limited. All rights reserved.
+ Copyright (c) 2019 - 2020, ARM Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
@par Reference(s):
@@ -101,7 +101,7 @@ GET_OBJECT_LIST (
/** Return the PCI Device information in BDF format
PCI Bus Number - Max 256 busses (Bits 15:8 of BDF)
- PCI Device Mumber - Max 32 devices (Bits 7:3 of BDF)
+ PCI Device Number - Max 32 devices (Bits 7:3 of BDF)
PCI Function Number - Max 8 functions (Bits 2:0 of BDF)
@param [in] DeviceHandlePci Pointer to the PCI Device Handle.
diff --git a/DynamicTablesPkg/Readme.md b/DynamicTablesPkg/Readme.md
index 93fd1f313aa5227df5c1ccc82dfe17cb4c8f9e0a..bcaae6daa5fff24d9f62639149e9f82c2665c682 100644
--- a/DynamicTablesPkg/Readme.md
+++ b/DynamicTablesPkg/Readme.md
@@ -136,4 +136,4 @@ Documentation
Refer to the following presentation from *UEFI Plugfest Seattle 2018*:
-[Dynamic Tables Framework: A Step Towards Automatic Generation of Advanced Configuration and Power Interface (ACPI) & System Management BIOS (SMBIOS) Tables – Sami Mujawar (Arm).](http://www.uefi.org/sites/default/files/resources/Arm_Dynamic%20Tables%20Framework%20A%20Step%20Towards%20Automatic%20Generation%20of%20Advanced%20Configuration%20and%20Power%20Interface%20%28ACPI%29%20%26%20System%20Management%20BIOS%20%28SMBIOS%29%20Tables%20_0.pdf)
+[Dynamic Tables Framework: A Step Towards Automatic Generation of Advanced Configuration and Power Interface (ACPI) & System Management BIOS (SMBIOS) Tables](http://www.uefi.org/sites/default/files/resources/Arm_Dynamic%20Tables%20Framework%20A%20Step%20Towards%20Automatic%20Generation%20of%20Advanced%20Configuration%20and%20Power%20Interface%20%28ACPI%29%20%26%20System%20Management%20BIOS%20%28SMBIOS%29%20Tables%20_0.pdf)
--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH v3 2/2] DynamicTablesPkg: Add EDK2 Core CI support
2020-08-07 16:12 [PATCH v3 0/2] Add EDKII CI support for DynamicTablesPkg Sami Mujawar
2020-08-07 16:12 ` [PATCH v3 1/2] DynamicTablesPkg: Fix issues reported by EDKII CI Sami Mujawar
@ 2020-08-07 16:12 ` Sami Mujawar
1 sibling, 0 replies; 3+ messages in thread
From: Sami Mujawar @ 2020-08-07 16:12 UTC (permalink / raw)
To: devel
Cc: Sami Mujawar, Alexei.Fedorov, sean.brogan, liming.gao,
michael.d.kinney, Bret.Barkelew, ard.biesheuvel, Matteo.Carlini,
Laura.Moretta, 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 DynamicTablesPkg.
- Add DynamicTablesPkg.ci.yaml for Core CI
- Update ReadMe.md for details and instructions
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
---
Notes:
v3:
- No code change. Splitting v2 patch series into two series. [Sami]
The v3 series contains the patches for DynamicTablesPkg.
Ref: https://edk2.groups.io/g/devel/message/63256
v2:
- Removed INF files from the DscCompleteCheck ignore list [Sami]
as these are now included in the component section of
the dsc file.
- Why are there modules not built during ci (The files [Sean]
listed in the DscCompleteCheck[IgnoreInf] list)
v1:
- Add EDK2 core CI support fro DynamicTablesPkg [Sami]
DynamicTablesPkg/DynamicTablesPkg.ci.yaml | 92 ++++++++++++++++++++
DynamicTablesPkg/Readme.md | 71 +++++++++++++++
2 files changed, 163 insertions(+)
diff --git a/DynamicTablesPkg/DynamicTablesPkg.ci.yaml b/DynamicTablesPkg/DynamicTablesPkg.ci.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f39b8019461ea151f9b1cf4bc751604d6e044af2
--- /dev/null
+++ b/DynamicTablesPkg/DynamicTablesPkg.ci.yaml
@@ -0,0 +1,92 @@
+## @file
+# CI configuration for DynamicTablesPkg
+#
+# Copyright (c) 2020, ARM Limited. All rights reserved.<BR>
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+{
+ ## options defined .pytool/Plugin/CompilerPlugin
+ "CompilerPlugin": {
+ "DscPath": "DynamicTablesPkg.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": [
+ "ArmPlatformPkg/ArmPlatformPkg.dec",
+ "EmbeddedPkg/EmbeddedPkg.dec",
+ "DynamicTablesPkg/DynamicTablesPkg.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": "DynamicTablesPkg.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": [
+ "CCIDX",
+ "CCSIDR",
+ "countof",
+ "EOBJECT",
+ "GTBLOCK",
+ "MPIDR",
+ "pytool",
+ "Roadmap",
+ "SMMUV",
+ "standardised",
+ "TABLEEX",
+ "TNSID",
+ "Vatos",
+ "WBINVD"
+ ], # 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)
+ }
+}
diff --git a/DynamicTablesPkg/Readme.md b/DynamicTablesPkg/Readme.md
index bcaae6daa5fff24d9f62639149e9f82c2665c682..e17ed3ac6fd2fbcaced7d64393b316d4d6f75283 100644
--- a/DynamicTablesPkg/Readme.md
+++ b/DynamicTablesPkg/Readme.md
@@ -131,9 +131,80 @@ Ensure that the iASL compiler used for building *Dynamic Tables Framework* has t
This feature was made available in the *ACPICA Compiler update
[Version 20180508](https://www.acpica.org/node/156)*, dated 8 May 2018 (2018-05-08).
+
+Running CI builds locally
+-------------------------
+
+The TianoCore EDKII project has introduced Core CI infrastructure using TianoCore EDKII Tools PIP modules:
+
+ - *[edk2-pytool-library](https://pypi.org/project/edk2-pytool-library)*
+
+ - *[edk2-pytool-extensions](https://pypi.org/project/edk2-pytool-extensions)*
+
+
+The instructions to setup the CI environment are in *'edk2\\.pytool\\Readme.md'*
+
+## Building DynamicTablesPkg with Pytools
+
+1. [Optional] Create a Python Virtual Environment - generally once per workspace
+
+ ```
+ python -m venv <name of virtual environment>
+
+ e.g. python -m venv edk2-ci
+ ```
+
+2. [Optional] Activate Virtual Environment - each time new shell/command window is opened
+
+ ```
+ <name of virtual environment>/Scripts/activate
+
+ e.g. On a windows host PC run:
+ edk2-ci\Scripts\activate.bat
+ ```
+3. Install Pytools - generally once per virtual env or whenever pip-requirements.txt changes
+
+ ```
+ pip install --upgrade -r pip-requirements.txt
+ ```
+
+4. Initialize & Update Submodules - only when submodules updated
+
+ ```
+ stuart_setup -c .pytool/CISettings.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
+
+ e.g. stuart_setup -c .pytool/CISettings.py TOOL_CHAIN_TAG=GCC5
+ ```
+
+5. Initialize & Update Dependencies - only as needed when ext_deps change
+
+ ```
+ stuart_update -c .pytool/CISettings.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
+
+ e.g. stuart_update -c .pytool/CISettings.py TOOL_CHAIN_TAG=GCC5
+ ```
+
+6. Compile the basetools if necessary - only when basetools C source files change
+
+ ```
+ python BaseTools/Edk2ToolsBuild.py -t <ToolChainTag>
+ ```
+
+7. Compile DynamicTablesPkg
+
+ ```
+ stuart_build-c .pytool/CISettings.py TOOL_CHAIN_TAG=<TOOL_CHAIN_TAG> -a <TARGET_ARCH>
+
+ e.g. stuart_ci_build -c .pytool/CISettings.py TOOL_CHAIN_TAG=GCC5 -p DynamicTablesPkg -a AARCH64 --verbose
+ ```
+
+ - use `stuart_build -c .pytool/CISettings.py -h` option to see help on additional options.
+
+
Documentation
-------------
Refer to the following presentation from *UEFI Plugfest Seattle 2018*:
[Dynamic Tables Framework: A Step Towards Automatic Generation of Advanced Configuration and Power Interface (ACPI) & System Management BIOS (SMBIOS) Tables](http://www.uefi.org/sites/default/files/resources/Arm_Dynamic%20Tables%20Framework%20A%20Step%20Towards%20Automatic%20Generation%20of%20Advanced%20Configuration%20and%20Power%20Interface%20%28ACPI%29%20%26%20System%20Management%20BIOS%20%28SMBIOS%29%20Tables%20_0.pdf)
+
--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'
^ permalink raw reply related [flat|nested] 3+ messages in thread