public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v2 0/6] DynamicTablesPkg: Framework updates and fixes
@ 2019-03-19 13:47 Sami Mujawar
  2019-03-19 13:47 ` [PATCH v2 1/6] DynamicTablesPkg: Fix protocol section Sami Mujawar
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Sami Mujawar @ 2019-03-19 13:47 UTC (permalink / raw)
  To: edk2-devel
  Cc: alexei.fedorov, lersek, leif.lindholm, Matteo.Carlini,
	Stephanie.Hughes-Fitt, nd

This patch series was originally merged in edk2 master. However, this
was later reverted as it was merged during the Soft Feature Freeze for
edk2-stable201903.

Resubmitting this patch series as the edk2 merge window is now open.

This patch series updates the Dynamic Tables Framework to
incorporate the following changes:
  * Fix protocol section.
  * Add options for OEMs to provide OEM Table ID and revision.
  * Update DBG2_DEBUG_PORT_DDI macro to remove unused parameter.
  * Remove GIC Distributor ID field.
  * Minor updates to comments and typo fixes.

Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Alexei Fedorov <alexei.fedorov@arm.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>

The changes can be seen at:
https://github.com/samimujawar/edk2/tree/473_dynamic_tables_framework_v2

The corresponding edk2-platform code changes can be seen at:
https://github.com/samimujawar/edk2-platforms/tree/473_dynamic_tables_framework_v1

Sami Mujawar (6):
  DynamicTablesPkg: Fix protocol section
  DynamicTablesPkg: Rename enum used for ID Mapping
  DynamicTablesPkg: Add OEM Info
  DynamicTablesPkg: DGB2: Update DBG2_DEBUG_PORT_DDI
  DynamicTablesPkg: Remove GIC Distributor Id field
  DynamicTablesPkg: Minor updates and fix typos

 DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.inf |  7 +-
 DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf |  7 +-
 DynamicTablesPkg/Include/ArmNameSpaceObjects.h                             | 73 +++++++++++++++-----
 DynamicTablesPkg/Include/Library/TableHelperLib.h                          |  4 +-
 DynamicTablesPkg/Include/StandardNameSpaceObjects.h                        | 18 +++++
 DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c           |  7 +-
 DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c           |  2 +-
 DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c           |  2 +-
 DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c           |  8 +--
 DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c           |  6 +-
 DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/McfgGenerator.c           |  2 +-
 DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c           |  2 +-
 DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c               | 26 +++++--
 13 files changed, 116 insertions(+), 48 deletions(-)

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




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

* [PATCH v2 1/6] DynamicTablesPkg: Fix protocol section
  2019-03-19 13:47 [PATCH v2 0/6] DynamicTablesPkg: Framework updates and fixes Sami Mujawar
@ 2019-03-19 13:47 ` Sami Mujawar
  2019-03-19 13:47 ` [PATCH v2 2/6] DynamicTablesPkg: Rename enum used for ID Mapping Sami Mujawar
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Sami Mujawar @ 2019-03-19 13:47 UTC (permalink / raw)
  To: edk2-devel
  Cc: alexei.fedorov, lersek, leif.lindholm, Matteo.Carlini,
	Stephanie.Hughes-Fitt, nd

This patch was originally merged in edk2 master at
bde673b2dcd1b087af7f49dd5f0c3b82b02172a5. However, this was
later reverted at 7d180efeaa03df25973416dc0aad099f4fe7e251
as it was merged during the Soft Feature Freeze for
edk2-stable201903.

Resubmitting this patch as the edk2 merge window is now open.

Updated the Protocols section to reflect the protocols
that are produced or consumed.

Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Alexei Fedorov <alexei.fedorov@arm.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
---
 DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.inf | 7 ++-----
 DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf | 7 ++++---
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.inf b/DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.inf
index 740811d0fc0590543a62360e6753eb04fb675d70..02c907c38023e8b44829a38ed93436904d8cf3d3 100644
--- a/DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.inf
+++ b/DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.inf
@@ -1,7 +1,7 @@
 ## @file
 #  Module to manage the list of available table factories.
 #
-#  Copyright (c) 2017 - 2018, ARM Limited. All rights reserved.
+#  Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
 #
 #  This program and the accompanying materials
 #  are licensed and made available under the terms and conditions of the BSD License
@@ -51,10 +51,7 @@ [FixedPcd]
   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxCustomDTGenerators
 
 [Protocols]
-  gEfiAcpiTableProtocolGuid                     # PROTOCOL ALWAYS_CONSUMED
-  gEfiSmbiosProtocolGuid                        # PROTOCOL ALWAYS_CONSUMED
-  gEdkiiConfigurationManagerProtocolGuid
-  gEdkiiDynamicTableFactoryProtocolGuid
+  gEdkiiDynamicTableFactoryProtocolGuid         # PRODUCES
 
 [Depex]
   TRUE
diff --git a/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf b/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf
index fef8b20672fb943b78302a152fcf0f66db264b0a..e78218a914ce993f3e605841e2bffae700076dd0 100644
--- a/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf
+++ b/DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf
@@ -1,7 +1,7 @@
 ## @file
 # Module that drives the table generation and installation process.
 #
-#  Copyright (c) 2017 - 2018, ARM Limited. All rights reserved.
+#  Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
 #
 #  This program and the accompanying materials
 #  are licensed and made available under the terms and conditions of the BSD License
@@ -42,8 +42,9 @@ [LibraryClasses]
 
 [Protocols]
   gEfiAcpiTableProtocolGuid                     # PROTOCOL ALWAYS_CONSUMED
-  gEdkiiConfigurationManagerProtocolGuid
-  gEdkiiDynamicTableFactoryProtocolGuid
+
+  gEdkiiConfigurationManagerProtocolGuid        # PROTOCOL ALWAYS_CONSUMED
+  gEdkiiDynamicTableFactoryProtocolGuid         # PROTOCOL ALWAYS_CONSUMED
 
 [Depex]
   gEfiAcpiTableProtocolGuid AND
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'




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

* [PATCH v2 2/6] DynamicTablesPkg: Rename enum used for ID Mapping
  2019-03-19 13:47 [PATCH v2 0/6] DynamicTablesPkg: Framework updates and fixes Sami Mujawar
  2019-03-19 13:47 ` [PATCH v2 1/6] DynamicTablesPkg: Fix protocol section Sami Mujawar
@ 2019-03-19 13:47 ` Sami Mujawar
  2019-03-19 13:47 ` [PATCH v2 3/6] DynamicTablesPkg: Add OEM Info Sami Mujawar
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Sami Mujawar @ 2019-03-19 13:47 UTC (permalink / raw)
  To: edk2-devel
  Cc: alexei.fedorov, lersek, leif.lindholm, Matteo.Carlini,
	Stephanie.Hughes-Fitt, nd

This patch was originally merged in edk2 master at
1d49a75367ef6827b8b8f77f61e9ce245d1bdee3. However, this was
later reverted at 334111b0dab80394aeb1ebb8f0f3314847e2dc1f
as it was merged during the Soft Feature Freeze for
edk2-stable201903.

Resubmitting this patch as the edk2 merge window is now open.

Renamed the enum EArmObjIdMapping to EArmObjIdMappingArray
and updated the IORT generator accordingly.

Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Alexei Fedorov <alexei.fedorov@arm.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
---
 DynamicTablesPkg/Include/ArmNameSpaceObjects.h                   | 2 +-
 DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
index 93cb6949f0eb2ac2ad3524494e4a14c7a6fab4b8..2adaa788083e4e15d049f5f6b6312f77f3c02488 100644
--- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
+++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
@@ -52,7 +52,7 @@ typedef enum ArmObjectID {
   EArmObjSmmuV3,                      ///< 22 - SMMUv3
   EArmObjPmcg,                        ///< 23 - PMCG
   EArmObjGicItsIdentifierArray,       ///< 24 - GIC ITS Identifier Array
-  EArmObjIdMapping,                   ///< 25 - ID Mapping
+  EArmObjIdMappingArray,              ///< 25 - ID Mapping Array
   EArmObjSmmuInterruptArray,          ///< 26 - SMMU Interrupt Array
   EArmObjMax
 } EARM_OBJECT_ID;
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
index a3ee60664ecbeb1b12b01683f838e11804884daf..b53c4bb47798d4ad441db1fe1b1e5b180e313403 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
@@ -44,7 +44,7 @@ Requirements:
   - EArmObjSmmuV3
   - EArmObjPmcg
   - EArmObjGicItsIdentifierArray
-  - EArmObjIdMapping
+  - EArmObjIdMappingArray
   - EArmObjGicItsIdentifierArray
 */
 
@@ -116,7 +116,7 @@ GET_OBJECT_LIST (
 */
 GET_OBJECT_LIST (
   EObjNameSpaceArm,
-  EArmObjIdMapping,
+  EArmObjIdMappingArray,
   CM_ARM_ID_MAPPING
   );
 
@@ -653,7 +653,7 @@ AddIdMappingArray (
   Generator = (ACPI_IORT_GENERATOR*)This;
 
   // Get the Id Mapping Array
-  Status = GetEArmObjIdMapping (
+  Status = GetEArmObjIdMappingArray (
              CfgMgrProtocol,
              IdMappingToken,
              &IdMappings,
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'




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

* [PATCH v2 3/6] DynamicTablesPkg: Add OEM Info
  2019-03-19 13:47 [PATCH v2 0/6] DynamicTablesPkg: Framework updates and fixes Sami Mujawar
  2019-03-19 13:47 ` [PATCH v2 1/6] DynamicTablesPkg: Fix protocol section Sami Mujawar
  2019-03-19 13:47 ` [PATCH v2 2/6] DynamicTablesPkg: Rename enum used for ID Mapping Sami Mujawar
@ 2019-03-19 13:47 ` Sami Mujawar
  2019-03-19 13:47 ` [PATCH v2 4/6] DynamicTablesPkg: DGB2: Update DBG2_DEBUG_PORT_DDI Sami Mujawar
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Sami Mujawar @ 2019-03-19 13:47 UTC (permalink / raw)
  To: edk2-devel
  Cc: alexei.fedorov, lersek, leif.lindholm, Matteo.Carlini,
	Stephanie.Hughes-Fitt, nd

This patch originally merged in edk2 master at
c788bdaba47536447ae37518a96d92e0da54aad7. However, this was
later reverted at bdbbedea949eb4b10d24110c0e559b03c7a6bce4
as it was merged during the Soft Feature Freeze for
edk2-stable201903.

Resubmitting this patch as the edk2 merge window is now open.

Added option for OEMs to provide OEM Table ID and
OEM Revision for ACPI tables.

Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Alexei Fedorov <alexei.fedorov@arm.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
---
 DynamicTablesPkg/Include/Library/TableHelperLib.h                |  4 +--
 DynamicTablesPkg/Include/StandardNameSpaceObjects.h              | 18 ++++++++++++++
 DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c |  2 +-
 DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c |  2 +-
 DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c |  2 +-
 DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c |  2 +-
 DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c |  2 +-
 DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/McfgGenerator.c |  2 +-
 DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c |  2 +-
 DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c     | 26 ++++++++++++++------
 10 files changed, 46 insertions(+), 16 deletions(-)

diff --git a/DynamicTablesPkg/Include/Library/TableHelperLib.h b/DynamicTablesPkg/Include/Library/TableHelperLib.h
index 3c4e1d23d2e6955388ab0b51fb57779f2225beb2..0f872bc3d08bf78e33bd8dab866e7bf57e00cb8c 100644
--- a/DynamicTablesPkg/Include/Library/TableHelperLib.h
+++ b/DynamicTablesPkg/Include/Library/TableHelperLib.h
@@ -45,7 +45,7 @@ GetCgfMgrInfo (
   @param [in]     Generator      Pointer to the ACPI table Generator.
   @param [in,out] AcpiHeader     Pointer to the ACPI table header to be
                                  updated.
-  @param [in]     Revision       Revision of the ACPI table.
+  @param [in]     AcpiTableInfo  Pointer to the ACPI table info structure.
   @param [in]     Length         Length of the ACPI table.
 
   @retval EFI_SUCCESS           The ACPI table is updated successfully.
@@ -61,7 +61,7 @@ AddAcpiHeader (
   IN      CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  * CONST CfgMgrProtocol,
   IN      CONST ACPI_TABLE_GENERATOR                  * CONST Generator,
   IN OUT  EFI_ACPI_DESCRIPTION_HEADER                 * CONST AcpiHeader,
-  IN      CONST UINT32                                        Revision,
+  IN      CONST CM_STD_OBJ_ACPI_TABLE_INFO            * CONST AcpiTableInfo,
   IN      CONST UINT32                                        Length
   );
 
diff --git a/DynamicTablesPkg/Include/StandardNameSpaceObjects.h b/DynamicTablesPkg/Include/StandardNameSpaceObjects.h
index 4377ee8f785399b02fec824f3a34d2f4ed3b1c01..58503858b27141cf7647a410c4b0b3fa574033de 100644
--- a/DynamicTablesPkg/Include/StandardNameSpaceObjects.h
+++ b/DynamicTablesPkg/Include/StandardNameSpaceObjects.h
@@ -93,6 +93,24 @@ typedef struct CmAStdObjAcpiTableInfo {
   /// Optional pointer to the ACPI table data
   EFI_ACPI_DESCRIPTION_HEADER  * AcpiTableData;
 
+  /// An OEM-supplied string that the OEM uses to identify the particular
+  /// data table. This field is particularly useful when defining a definition
+  /// block to distinguish definition block functions. The OEM assigns each
+  /// dissimilar table a new OEM Table ID.
+  /// This field could be constructed using the SIGNATURE_64() macro.
+  ///   e.g. SIGNATURE_64 ('A','R','M','H','G','T','D','T')
+  /// Note: If this field is not populated (has value of Zero), then the
+  /// Generators shall populate this information using part of the
+  /// CM_STD_OBJ_CONFIGURATION_MANAGER_INFO.OemId field and the
+  /// ACPI table signature.
+  UINT64                         OemTableId;
+
+  /// An OEM-supplied revision number. Larger numbers are assumed to be
+  /// newer revisions.
+  /// Note: If this field is not populated (has value of Zero), then the
+  /// Generators shall populate this information using the revision of the
+  /// Configuration Manager (CM_STD_OBJ_CONFIGURATION_MANAGER_INFO.Revision).
+  UINT32                         OemRevision;
 } CM_STD_OBJ_ACPI_TABLE_INFO;
 
 /** A structure used to describe the SMBIOS table generators to be invoked.
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c
index e21e2b660634b1aedce8167b74573694d6df2a3b..697cfc46abaedf34d30abf26e7ebb2b4d271822a 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c
@@ -342,7 +342,7 @@ BuildDbg2Table (
              CfgMgrProtocol,
              This,
              (EFI_ACPI_DESCRIPTION_HEADER*)&AcpiDbg2,
-             AcpiTableInfo->AcpiTableRevision,
+             AcpiTableInfo,
              sizeof (DBG2_TABLE)
              );
   if (EFI_ERROR (Status)) {
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c
index 62927b51d6d7c1585da1cb0d59785e2382639002..6699901b42a63a152027de59887ed097748ece91 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c
@@ -537,7 +537,7 @@ BuildFadtTable (
              CfgMgrProtocol,
              This,
              (EFI_ACPI_DESCRIPTION_HEADER*)&AcpiFadt,
-             AcpiTableInfo->AcpiTableRevision,
+             AcpiTableInfo,
              sizeof (EFI_ACPI_6_2_FIXED_ACPI_DESCRIPTION_TABLE)
              );
   if (EFI_ERROR (Status)) {
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c
index 70f52507bc7f12a776f76271b3f378bc62e717ba..d58794ee3ef5b72a8b2e3eb930ad5ab5bbb57c38 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c
@@ -518,7 +518,7 @@ BuildGtdtTable (
              CfgMgrProtocol,
              This,
              &Gtdt->Header,
-             AcpiTableInfo->AcpiTableRevision,
+             AcpiTableInfo,
              TableSize
              );
   if (EFI_ERROR (Status)) {
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
index b53c4bb47798d4ad441db1fe1b1e5b180e313403..2bac7a59ea40d6a3cae675b39d5df26ab7783a29 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiIortLibArm/IortGenerator.c
@@ -1798,7 +1798,7 @@ BuildIortTable (
              CfgMgrProtocol,
              This,
              &Iort->Header,
-             AcpiTableInfo->AcpiTableRevision,
+             AcpiTableInfo,
              TableSize
              );
   if (EFI_ERROR (Status)) {
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c
index 06794758308e028b7d8da06670b1793cbdb3ae81..1ee0b9e006bfa00ea5bbf6aa64209dac244c90a0 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c
@@ -569,7 +569,7 @@ BuildMadtTable (
              CfgMgrProtocol,
              This,
              &Madt->Header,
-             AcpiTableInfo->AcpiTableRevision,
+             AcpiTableInfo,
              TableSize
              );
   if (EFI_ERROR (Status)) {
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/McfgGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/McfgGenerator.c
index 29eb72bd917227e87b8f126aa098a6e0ff3918cc..2131683a35158f40304892da9ab12e547483a4bc 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/McfgGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiMcfgLibArm/McfgGenerator.c
@@ -220,7 +220,7 @@ BuildMcfgTable (
              CfgMgrProtocol,
              This,
              &Mcfg->Header,
-             AcpiTableInfo->AcpiTableRevision,
+             AcpiTableInfo,
              TableSize
              );
   if (EFI_ERROR (Status)) {
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c
index a4654acb39812af022a1e678b78e31415d94ef30..6778d7673e71e6347f21935b5f709b690f64dab4 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c
@@ -211,7 +211,7 @@ BuildSpcrTable (
              CfgMgrProtocol,
              This,
              (EFI_ACPI_DESCRIPTION_HEADER*)&AcpiSpcr,
-             AcpiTableInfo->AcpiTableRevision,
+             AcpiTableInfo,
              sizeof (EFI_ACPI_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE)
              );
   if (EFI_ERROR (Status)) {
diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c b/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c
index 02860ddf233b4a44c30450c8c090b416f1e07d81..203207bac2b202f568072b68e8cb25c5c258045f 100644
--- a/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c
+++ b/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c
@@ -100,7 +100,7 @@ GetCgfMgrInfo (
   @param [in]     Generator      Pointer to the ACPI table Generator.
   @param [in,out] AcpiHeader     Pointer to the ACPI table header to be
                                  updated.
-  @param [in]     Revision       Revision of the ACPI table.
+  @param [in]     AcpiTableInfo  Pointer to the ACPI table info structure.
   @param [in]     Length         Length of the ACPI table.
 
   @retval EFI_SUCCESS           The ACPI table is updated successfully.
@@ -116,7 +116,7 @@ AddAcpiHeader (
   IN      CONST EDKII_CONFIGURATION_MANAGER_PROTOCOL  * CONST CfgMgrProtocol,
   IN      CONST ACPI_TABLE_GENERATOR                  * CONST Generator,
   IN OUT  EFI_ACPI_DESCRIPTION_HEADER                 * CONST AcpiHeader,
-  IN      CONST UINT32                                        Revision,
+  IN      CONST CM_STD_OBJ_ACPI_TABLE_INFO            * CONST AcpiTableInfo,
   IN      CONST UINT32                                        Length
   )
 {
@@ -151,7 +151,7 @@ AddAcpiHeader (
   // UINT32  Length
   AcpiHeader->Length = Length;
   // UINT8   Revision
-  AcpiHeader->Revision = Revision;
+  AcpiHeader->Revision = AcpiTableInfo->AcpiTableRevision;
   // UINT8   Checksum
   AcpiHeader->Checksum = 0;
 
@@ -159,12 +159,24 @@ AddAcpiHeader (
   CopyMem (AcpiHeader->OemId, CfgMfrInfo->OemId, sizeof (AcpiHeader->OemId));
 
   // UINT64  OemTableId
-  AcpiHeader->OemTableId = Generator->CreatorId;
-  AcpiHeader->OemTableId <<= 32;
-  AcpiHeader->OemTableId |= Generator->AcpiTableSignature;
+  if (AcpiTableInfo->OemTableId != 0) {
+    AcpiHeader->OemTableId = AcpiTableInfo->OemTableId;
+  } else {
+    AcpiHeader->OemTableId = SIGNATURE_32 (
+                               CfgMfrInfo->OemId[0],
+                               CfgMfrInfo->OemId[1],
+                               CfgMfrInfo->OemId[2],
+                               CfgMfrInfo->OemId[3]
+                               ) |
+                             ((UINT64)Generator->AcpiTableSignature << 32);
+  }
 
   // UINT32  OemRevision
-  AcpiHeader->OemRevision = CfgMfrInfo->Revision;
+  if (AcpiTableInfo->OemRevision != 0) {
+    AcpiHeader->OemRevision = AcpiTableInfo->OemRevision;
+  } else {
+    AcpiHeader->OemRevision = CfgMfrInfo->Revision;
+  }
 
   // UINT32  CreatorId
   AcpiHeader->CreatorId = Generator->CreatorId;
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'




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

* [PATCH v2 4/6] DynamicTablesPkg: DGB2: Update DBG2_DEBUG_PORT_DDI
  2019-03-19 13:47 [PATCH v2 0/6] DynamicTablesPkg: Framework updates and fixes Sami Mujawar
                   ` (2 preceding siblings ...)
  2019-03-19 13:47 ` [PATCH v2 3/6] DynamicTablesPkg: Add OEM Info Sami Mujawar
@ 2019-03-19 13:47 ` Sami Mujawar
  2019-03-19 13:47 ` [PATCH v2 5/6] DynamicTablesPkg: Remove GIC Distributor Id field Sami Mujawar
  2019-03-19 13:47 ` [PATCH v2 6/6] DynamicTablesPkg: Minor updates and fix typos Sami Mujawar
  5 siblings, 0 replies; 7+ messages in thread
From: Sami Mujawar @ 2019-03-19 13:47 UTC (permalink / raw)
  To: edk2-devel
  Cc: alexei.fedorov, lersek, leif.lindholm, Matteo.Carlini,
	Stephanie.Hughes-Fitt, nd

This patch was originally merged in edk2 master at
6814256083a90ef218e7ae240e51922045175df1. However, this was
later reverted at db8382ef5e44bd07654fb4726b77f3c329210561
as it was merged during the Soft Feature Freeze for
edk2-stable201903.

Resubmitting this patch as the edk2 merge window is now open.

The DBG2_DEBUG_PORT_DDI() macro supports adding only one
Generic Base Address Register. Therefore, removed the
superfluous parameter NumReg and updated the macro to
use DBG2_NUMBER_OF_GENERIC_ADDRESS_REGISTERS which has
a value 1.

Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Alexei Fedorov <alexei.fedorov@arm.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
---
 DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c
index 697cfc46abaedf34d30abf26e7ebb2b4d271822a..90380f48da017b257476ee63bcc1beae5efe1d65 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c
@@ -97,14 +97,12 @@ typedef struct {
 /** A helper macro used for initializing the debug port device
     information structure.
 
-  @param [in]  NumReg       The number of generic address registers.
   @param [in]  SubType      The DBG Port SubType.
   @param [in]  UartBase     The UART port base address.
   @param [in]  UartAddrLen  The UART port address range length.
   @param [in]  UartNameStr  The UART port name string.
 **/
 #define DBG2_DEBUG_PORT_DDI(                                          \
-          NumReg,                                                     \
           SubType,                                                    \
           UartBase,                                                   \
           UartAddrLen,                                                \
@@ -116,7 +114,7 @@ typedef struct {
       /* UINT16    Length */                                          \
       sizeof (DBG2_DEBUG_DEVICE_INFORMATION),                         \
       /* UINT8     NumberofGenericAddressRegisters */                 \
-      NumReg,                                                         \
+      DBG2_NUMBER_OF_GENERIC_ADDRESS_REGISTERS,                       \
       /* UINT16    NameSpaceStringLength */                           \
       DBG2_NAMESPACESTRING_FIELD_SIZE,                                \
       /* UINT16    NameSpaceStringOffset */                           \
@@ -164,7 +162,6 @@ DBG2_TABLE AcpiDbg2 = {
      * Debug port 1
      */
     DBG2_DEBUG_PORT_DDI (
-      DBG2_NUMBER_OF_GENERIC_ADDRESS_REGISTERS,
       0,                    // {Template}: Serial Port Subtype
       0,                    // {Template}: Serial Port Base Address
       PL011_UART_LENGTH,
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'




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

* [PATCH v2 5/6] DynamicTablesPkg: Remove GIC Distributor Id field
  2019-03-19 13:47 [PATCH v2 0/6] DynamicTablesPkg: Framework updates and fixes Sami Mujawar
                   ` (3 preceding siblings ...)
  2019-03-19 13:47 ` [PATCH v2 4/6] DynamicTablesPkg: DGB2: Update DBG2_DEBUG_PORT_DDI Sami Mujawar
@ 2019-03-19 13:47 ` Sami Mujawar
  2019-03-19 13:47 ` [PATCH v2 6/6] DynamicTablesPkg: Minor updates and fix typos Sami Mujawar
  5 siblings, 0 replies; 7+ messages in thread
From: Sami Mujawar @ 2019-03-19 13:47 UTC (permalink / raw)
  To: edk2-devel
  Cc: alexei.fedorov, lersek, leif.lindholm, Matteo.Carlini,
	Stephanie.Hughes-Fitt, nd

This patch was originally merged in edk2 master at
d3a15f435f9716aa2f2ea5e9b35fcda04f267ab4. However, this was
later reverted at 82c4426a176c271d24915b403b267a431bdc52f5
as it was merged during the Soft Feature Freeze for
edk2-stable201903.

Resubmitting this patch as the edk2 merge window is now open.

According to ACPI 6.2 Specification - Errata A, 'One,
and only one, GIC distributor structure must be present
in the MADT for an ARM based system'. Therefore,
the GIC Distributor ID field in the ACPI MADT GICD
substructure can be set to zero and there is no need
for the Configuration Manager to provide this information.

Update the CM_ARM_GICD_INFO structure to remove the GicId
field. Similarly update the MADT Generator to set the GicId
field in the GICD substructure to zero.

Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Alexei Fedorov <alexei.fedorov@arm.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
---
 DynamicTablesPkg/Include/ArmNameSpaceObjects.h                   | 5 +----
 DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c | 4 +++-
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
index 2adaa788083e4e15d049f5f6b6312f77f3c02488..73139eb3273e89205ef9e6bee67b1b842f7f516b 100644
--- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
+++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
@@ -1,6 +1,6 @@
 /** @file
 
-  Copyright (c) 2017 - 2018, ARM Limited. All rights reserved.
+  Copyright (c) 2017 - 2019, ARM Limited. All rights reserved.
 
   This program and the accompanying materials
   are licensed and made available under the terms and conditions of the BSD License
@@ -166,9 +166,6 @@ typedef struct CmArmGicCInfo {
     GIC Distributor information for the Platform.
 */
 typedef struct CmArmGicDInfo {
-  /// The GIC Distributor ID.
-  UINT32  GicId;
-
   /// The Physical Base address for the GIC Distributor.
   UINT64  PhysicalBaseAddress;
 
diff --git a/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c b/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c
index 1ee0b9e006bfa00ea5bbf6aa64209dac244c90a0..6b89c3f65d36ff35fcfc81cdffdeae8e4306c976 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c
@@ -192,7 +192,9 @@ AddGICD (
   // UINT16 Reserved
   Gicd->Reserved1 = EFI_ACPI_RESERVED_WORD;
   // UINT32 Identifier
-  Gicd->GicId = GicDInfo->GicId;
+  // One, and only one, GIC distributor structure must be present
+  // in the MADT for an ARM based system
+  Gicd->GicId = 0;
   // UINT64 PhysicalBaseAddress
   Gicd->PhysicalBaseAddress = GicDInfo->PhysicalBaseAddress;
   // UINT32 VectorBase
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'




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

* [PATCH v2 6/6] DynamicTablesPkg: Minor updates and fix typos
  2019-03-19 13:47 [PATCH v2 0/6] DynamicTablesPkg: Framework updates and fixes Sami Mujawar
                   ` (4 preceding siblings ...)
  2019-03-19 13:47 ` [PATCH v2 5/6] DynamicTablesPkg: Remove GIC Distributor Id field Sami Mujawar
@ 2019-03-19 13:47 ` Sami Mujawar
  5 siblings, 0 replies; 7+ messages in thread
From: Sami Mujawar @ 2019-03-19 13:47 UTC (permalink / raw)
  To: edk2-devel
  Cc: alexei.fedorov, lersek, leif.lindholm, Matteo.Carlini,
	Stephanie.Hughes-Fitt, nd

This patch was originally merged in edk2 master at
07f4e26eb6fe5203028ecfe9bad90d3b67dc72c8. However, this was
later reverted at 4c20a7913333fdbd3b4c83dba060fefa84027313
as it was merged during the Soft Feature Freeze for
edk2-stable201903.

Resubmitting this patch as the edk2 merge window is now open.

Minor updates to comments and typo fixes. Also removed
unused structure CM_ARM_CPU_INFO_LIST.

Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Alexei Fedorov <alexei.fedorov@arm.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Alexei Fedorov <alexei.fedorov@arm.com>
---
 DynamicTablesPkg/Include/ArmNameSpaceObjects.h | 66 ++++++++++++++++----
 1 file changed, 55 insertions(+), 11 deletions(-)

diff --git a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
index 73139eb3273e89205ef9e6bee67b1b842f7f516b..ec31c40449d0658f98a89ce0bb6f604b491f1f34 100644
--- a/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
+++ b/DynamicTablesPkg/Include/ArmNameSpaceObjects.h
@@ -59,6 +59,8 @@ typedef enum ArmObjectID {
 
 /** A structure that describes the
     ARM Boot Architecture flags.
+
+    ID: EArmObjBootArchInfo
 */
 typedef struct CmArmBootArchInfo {
   /** This is the ARM_BOOT_ARCH flags field of the FADT Table
@@ -71,13 +73,10 @@ typedef struct CmArmCpuInfo {
   // Reserved for use when SMBIOS tables are implemented
 } CM_ARM_CPU_INFO;
 
-typedef struct CmArmCpuInfoList {
-  UINT32             CpuCount;
-  CM_ARM_CPU_INFO  * CpuInfo;
-} CM_ARM_CPU_INFO_LIST;
-
 /** A structure that describes the
     Power Management Profile Information for the Platform.
+
+    ID: EArmObjPowerManagementProfileInfo
 */
 typedef struct CmArmPowerManagementProfileInfo {
   /** This is the Preferred_PM_Profile field of the FADT Table
@@ -88,6 +87,8 @@ typedef struct CmArmPowerManagementProfileInfo {
 
 /** A structure that describes the
     GIC CPU Interface for the Platform.
+
+    ID: EArmObjGicCInfo
 */
 typedef struct CmArmGicCInfo {
   /// The GIC CPU Interface number.
@@ -164,6 +165,8 @@ typedef struct CmArmGicCInfo {
 
 /** A structure that describes the
     GIC Distributor information for the Platform.
+
+    ID: EArmObjGicDInfo
 */
 typedef struct CmArmGicDInfo {
   /// The Physical Base address for the GIC Distributor.
@@ -184,6 +187,8 @@ typedef struct CmArmGicDInfo {
 
 /** A structure that describes the
     GIC MSI Frame information for the Platform.
+
+    ID: EArmObjGicMsiFrameInfo
 */
 typedef struct CmArmGicMsiFrameInfo {
   /// The GIC MSI Frame ID
@@ -207,6 +212,8 @@ typedef struct CmArmGicMsiFrameInfo {
 
 /** A structure that describes the
     GIC Redistributor information for the Platform.
+
+    ID: EArmObjGicRedistributorInfo
 */
 typedef struct CmArmGicRedistInfo {
   /** The physical address of a page range
@@ -220,6 +227,8 @@ typedef struct CmArmGicRedistInfo {
 
 /** A structure that describes the
     GIC Interrupt Translation Service information for the Platform.
+
+    ID: EArmObjGicItsInfo
 */
 typedef struct CmArmGicItsInfo {
   /// The GIC ITS ID
@@ -231,6 +240,9 @@ typedef struct CmArmGicItsInfo {
 
 /** A structure that describes the
     Serial Port information for the Platform.
+
+    ID: EArmObjSerialConsolePortInfo or
+        EArmObjSerialDebugPortInfo
 */
 typedef struct CmArmSerialPortInfo {
   /// The physical base address for the serial port
@@ -251,6 +263,8 @@ typedef struct CmArmSerialPortInfo {
 
 /** A structure that describes the
     Generic Timer information for the Platform.
+
+    ID: EArmObjGenericTimerInfo
 */
 typedef struct CmArmGenericTimerInfo {
   /// The physical base address for the counter control frame
@@ -286,6 +300,8 @@ typedef struct CmArmGenericTimerInfo {
 
 /** A structure that describes the
     Platform Generic Block Timer Frame information for the Platform.
+
+    ID: EArmObjGTBlockTimerFrameInfo
 */
 typedef struct CmArmGTBlockTimerFrameInfo {
   /// The Generic Timer frame number
@@ -321,6 +337,8 @@ typedef struct CmArmGTBlockTimerFrameInfo {
 
 /** A structure that describes the
     Platform Generic Block Timer information for the Platform.
+
+    ID: EArmObjPlatformGTBlockInfo
 */
 typedef struct CmArmGTBlockInfo {
   /// The physical base address for the GT Block Timer structure
@@ -335,6 +353,8 @@ typedef struct CmArmGTBlockInfo {
 
 /** A structure that describes the
     SBSA Generic Watchdog information for the Platform.
+
+    ID: EArmObjPlatformGenericWatchdogInfo
 */
 typedef struct CmArmGenericWatchdogInfo {
   /// The physical base address of the SBSA Watchdog control frame
@@ -354,6 +374,8 @@ typedef struct CmArmGenericWatchdogInfo {
 
 /** A structure that describes the
     PCI Configuration Space information for the Platform.
+
+    ID: EArmObjPciConfigSpaceInfo
 */
 typedef struct CmArmPciConfigSpaceInfo {
   /// The physical base address for the PCI segment
@@ -371,6 +393,8 @@ typedef struct CmArmPciConfigSpaceInfo {
 
 /** A structure that describes the
     Hypervisor Vendor ID information for the Platform.
+
+    ID: EArmObjHypervisorVendorIdentity
 */
 typedef struct CmArmHypervisorVendorId {
   /// The hypervisor Vendor ID
@@ -379,6 +403,8 @@ typedef struct CmArmHypervisorVendorId {
 
 /** A structure that describes the
     Fixed feature flags for the Platform.
+
+    ID: EArmObjFixedFeatureFlags
 */
 typedef struct CmArmFixedFeatureFlags {
   /// The Fixed feature flags
@@ -387,9 +413,11 @@ typedef struct CmArmFixedFeatureFlags {
 
 /** A structure that describes the
     ITS Group node for the Platform.
+
+    ID: EArmObjItsGroup
 */
 typedef struct CmArmItsGroupNode {
-  /// An unique token used to ideintify this object
+  /// An unique token used to identify this object
   CM_OBJECT_TOKEN   Token;
   /// The number of ITS identifiers in the ITS node
   UINT32            ItsIdCount;
@@ -399,6 +427,8 @@ typedef struct CmArmItsGroupNode {
 
 /** A structure that describes the
     GIC ITS Identifiers for an ITS Group node.
+
+    ID: EArmObjGicItsIdentifierArray
 */
 typedef struct CmArmGicItsIdentifier {
   /// The ITS Identifier
@@ -407,9 +437,11 @@ typedef struct CmArmGicItsIdentifier {
 
 /** A structure that describes the
     Named component node for the Platform.
+
+    ID: EArmObjNamedComponent
 */
 typedef struct CmArmNamedComponentNode {
-  /// An unique token used to ideintify this object
+  /// An unique token used to identify this object
   CM_OBJECT_TOKEN   Token;
   /// Number of ID mappings
   UINT32            IdMappingCount;
@@ -436,9 +468,11 @@ typedef struct CmArmNamedComponentNode {
 
 /** A structure that describes the
     Root complex node for the Platform.
+
+    ID: EArmObjRootComplex
 */
 typedef struct CmArmRootComplexNode {
-  /// An unique token used to ideintify this object
+  /// An unique token used to identify this object
   CM_OBJECT_TOKEN   Token;
   /// Number of ID mappings
   UINT32            IdMappingCount;
@@ -462,9 +496,11 @@ typedef struct CmArmRootComplexNode {
 
 /** A structure that describes the
     SMMUv1 or SMMUv2 node for the Platform.
+
+    ID: EArmObjSmmuV1SmmuV2
 */
 typedef struct CmArmSmmuV1SmmuV2Node {
-  /// An unique token used to ideintify this object
+  /// An unique token used to identify this object
   CM_OBJECT_TOKEN   Token;
   /// Number of ID mappings
   UINT32            IdMappingCount;
@@ -502,9 +538,11 @@ typedef struct CmArmSmmuV1SmmuV2Node {
 
 /** A structure that describes the
     SMMUv3 node for the Platform.
+
+    ID: EArmObjSmmuV3
 */
 typedef struct CmArmSmmuV3Node {
-  /// An unique token used to ideintify this object
+  /// An unique token used to identify this object
   CM_OBJECT_TOKEN   Token;
   /// Number of ID mappings
   UINT32            IdMappingCount;
@@ -536,9 +574,11 @@ typedef struct CmArmSmmuV3Node {
 
 /** A structure that describes the
     PMCG node for the Platform.
+
+    ID: EArmObjPmcg
 */
 typedef struct CmArmPmcgNode {
-  /// An unique token used to ideintify this object
+  /// An unique token used to identify this object
   CM_OBJECT_TOKEN   Token;
   /// Number of ID mappings
   UINT32            IdMappingCount;
@@ -558,6 +598,8 @@ typedef struct CmArmPmcgNode {
 
 /** A structure that describes the
     ID Mappings for the Platform.
+
+    ID: EArmObjIdMappingArray
 */
 typedef struct CmArmIdMapping {
   /// Input base
@@ -574,6 +616,8 @@ typedef struct CmArmIdMapping {
 
 /** A structure that describes the
     SMMU interrupts for the Platform.
+
+    ID: EArmObjSmmuInterruptArray
 */
 typedef struct CmArmSmmuInterrupt {
   /// Interrupt number
-- 
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'




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

end of thread, other threads:[~2019-03-19 13:48 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-19 13:47 [PATCH v2 0/6] DynamicTablesPkg: Framework updates and fixes Sami Mujawar
2019-03-19 13:47 ` [PATCH v2 1/6] DynamicTablesPkg: Fix protocol section Sami Mujawar
2019-03-19 13:47 ` [PATCH v2 2/6] DynamicTablesPkg: Rename enum used for ID Mapping Sami Mujawar
2019-03-19 13:47 ` [PATCH v2 3/6] DynamicTablesPkg: Add OEM Info Sami Mujawar
2019-03-19 13:47 ` [PATCH v2 4/6] DynamicTablesPkg: DGB2: Update DBG2_DEBUG_PORT_DDI Sami Mujawar
2019-03-19 13:47 ` [PATCH v2 5/6] DynamicTablesPkg: Remove GIC Distributor Id field Sami Mujawar
2019-03-19 13:47 ` [PATCH v2 6/6] DynamicTablesPkg: Minor updates and fix typos Sami Mujawar

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