* [PATCH v1 0/6] DynamicTablesPkg: Framework updates and fixes
@ 2019-02-21 18:14 Sami Mujawar
2019-02-21 18:14 ` [PATCH v1 1/6] DynamicTablesPkg: Fix depex and protocol section Sami Mujawar
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: Sami Mujawar @ 2019-02-21 18:14 UTC (permalink / raw)
To: edk2-devel
Cc: alexei.fedorov, leif.lindholm, Matteo.Carlini,
Stephanie.Hughes-Fitt, nd
This patch series updates the Dynamic Tables Framework to
incorporate the following changes:
* Fix DEPEX to load modules in correct order.
* 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.
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_v1
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 depex and 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 | 11 +--
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, 119 insertions(+), 49 deletions(-)
--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v1 1/6] DynamicTablesPkg: Fix depex and protocol section
2019-02-21 18:14 [PATCH v1 0/6] DynamicTablesPkg: Framework updates and fixes Sami Mujawar
@ 2019-02-21 18:14 ` Sami Mujawar
2019-02-21 18:14 ` [PATCH v1 2/6] DynamicTablesPkg: Rename enum used for ID Mapping Sami Mujawar
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Sami Mujawar @ 2019-02-21 18:14 UTC (permalink / raw)
To: edk2-devel
Cc: alexei.fedorov, leif.lindholm, Matteo.Carlini,
Stephanie.Hughes-Fitt, nd
Updated the DynamicTableFactoryDxe and DynamicTableManagerDxe
to setup the correct dependency order. Also updated the
Protocols section to reflect the protocols that are produced
or consumed.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
---
DynamicTablesPkg/Drivers/DynamicTableFactoryDxe/DynamicTableFactoryDxe.inf | 7 ++-----
DynamicTablesPkg/Drivers/DynamicTableManagerDxe/DynamicTableManagerDxe.inf | 11 +++++++----
2 files changed, 9 insertions(+), 9 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 2aeaf15b157c0172c9cb073e55d789944a73e2ec..39b10b5536bc341dc253801b8ed7640a8b5d4217 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,9 +42,12 @@ [LibraryClasses]
[Protocols]
gEfiAcpiTableProtocolGuid # PROTOCOL ALWAYS_CONSUMED
- gEdkiiConfigurationManagerProtocolGuid
- gEdkiiDynamicTableFactoryProtocolGuid
+
+ gEdkiiConfigurationManagerProtocolGuid # PROTOCOL ALWAYS_CONSUMED
+ gEdkiiDynamicTableFactoryProtocolGuid # PROTOCOL ALWAYS_CONSUMED
[Depex]
- gEdkiiConfigurationManagerProtocolGuid
+ gEfiAcpiTableProtocolGuid
+ AND gEdkiiConfigurationManagerProtocolGuid
+ AND gEdkiiDynamicTableFactoryProtocolGuid
--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v1 2/6] DynamicTablesPkg: Rename enum used for ID Mapping
2019-02-21 18:14 [PATCH v1 0/6] DynamicTablesPkg: Framework updates and fixes Sami Mujawar
2019-02-21 18:14 ` [PATCH v1 1/6] DynamicTablesPkg: Fix depex and protocol section Sami Mujawar
@ 2019-02-21 18:14 ` Sami Mujawar
2019-02-21 18:14 ` [PATCH v1 3/6] DynamicTablesPkg: Add OEM Info Sami Mujawar
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Sami Mujawar @ 2019-02-21 18:14 UTC (permalink / raw)
To: edk2-devel
Cc: alexei.fedorov, leif.lindholm, Matteo.Carlini,
Stephanie.Hughes-Fitt, nd
Renamed the enum EArmObjIdMapping to EArmObjIdMappingArray
and updated the IORT generator accordingly.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar <sami.mujawar@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] 9+ messages in thread
* [PATCH v1 3/6] DynamicTablesPkg: Add OEM Info
2019-02-21 18:14 [PATCH v1 0/6] DynamicTablesPkg: Framework updates and fixes Sami Mujawar
2019-02-21 18:14 ` [PATCH v1 1/6] DynamicTablesPkg: Fix depex and protocol section Sami Mujawar
2019-02-21 18:14 ` [PATCH v1 2/6] DynamicTablesPkg: Rename enum used for ID Mapping Sami Mujawar
@ 2019-02-21 18:14 ` Sami Mujawar
2019-02-21 18:14 ` [PATCH v1 4/6] DynamicTablesPkg: DGB2: Update DBG2_DEBUG_PORT_DDI Sami Mujawar
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Sami Mujawar @ 2019-02-21 18:14 UTC (permalink / raw)
To: edk2-devel
Cc: alexei.fedorov, leif.lindholm, Matteo.Carlini,
Stephanie.Hughes-Fitt, nd
Added option for OEMs to provide OEM Table ID and
OEM Revision for ACPI tables.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar <sami.mujawar@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 23d3a50713d200321e3d93850c1b42e48da2faeb..5018eb8ebfb4053fe845e5403b0ad1df373255a0 100644
--- a/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c
+++ b/DynamicTablesPkg/Library/Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c
@@ -209,7 +209,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] 9+ messages in thread
* [PATCH v1 4/6] DynamicTablesPkg: DGB2: Update DBG2_DEBUG_PORT_DDI
2019-02-21 18:14 [PATCH v1 0/6] DynamicTablesPkg: Framework updates and fixes Sami Mujawar
` (2 preceding siblings ...)
2019-02-21 18:14 ` [PATCH v1 3/6] DynamicTablesPkg: Add OEM Info Sami Mujawar
@ 2019-02-21 18:14 ` Sami Mujawar
2019-02-21 18:14 ` [PATCH v1 5/6] DynamicTablesPkg: Remove GIC Distributor Id field Sami Mujawar
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Sami Mujawar @ 2019-02-21 18:14 UTC (permalink / raw)
To: edk2-devel
Cc: alexei.fedorov, leif.lindholm, Matteo.Carlini,
Stephanie.Hughes-Fitt, nd
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.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar <sami.mujawar@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] 9+ messages in thread
* [PATCH v1 5/6] DynamicTablesPkg: Remove GIC Distributor Id field
2019-02-21 18:14 [PATCH v1 0/6] DynamicTablesPkg: Framework updates and fixes Sami Mujawar
` (3 preceding siblings ...)
2019-02-21 18:14 ` [PATCH v1 4/6] DynamicTablesPkg: DGB2: Update DBG2_DEBUG_PORT_DDI Sami Mujawar
@ 2019-02-21 18:14 ` Sami Mujawar
2019-02-21 18:14 ` [PATCH v1 6/6] DynamicTablesPkg: Minor updates and fix typos Sami Mujawar
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Sami Mujawar @ 2019-02-21 18:14 UTC (permalink / raw)
To: edk2-devel
Cc: alexei.fedorov, leif.lindholm, Matteo.Carlini,
Stephanie.Hughes-Fitt, nd
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.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar <sami.mujawar@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] 9+ messages in thread
* [PATCH v1 6/6] DynamicTablesPkg: Minor updates and fix typos
2019-02-21 18:14 [PATCH v1 0/6] DynamicTablesPkg: Framework updates and fixes Sami Mujawar
` (4 preceding siblings ...)
2019-02-21 18:14 ` [PATCH v1 5/6] DynamicTablesPkg: Remove GIC Distributor Id field Sami Mujawar
@ 2019-02-21 18:14 ` Sami Mujawar
2019-02-25 13:48 ` [PATCH v1 0/6] DynamicTablesPkg: Framework updates and fixes Alexei Fedorov
2019-02-25 19:27 ` Laszlo Ersek
7 siblings, 0 replies; 9+ messages in thread
From: Sami Mujawar @ 2019-02-21 18:14 UTC (permalink / raw)
To: edk2-devel
Cc: alexei.fedorov, leif.lindholm, Matteo.Carlini,
Stephanie.Hughes-Fitt, nd
Minor updates to comments and typo fixes. Also removed
unused structure CM_ARM_CPU_INFO_LIST.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Sami Mujawar <sami.mujawar@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] 9+ messages in thread
* Re: [PATCH v1 0/6] DynamicTablesPkg: Framework updates and fixes
2019-02-21 18:14 [PATCH v1 0/6] DynamicTablesPkg: Framework updates and fixes Sami Mujawar
` (5 preceding siblings ...)
2019-02-21 18:14 ` [PATCH v1 6/6] DynamicTablesPkg: Minor updates and fix typos Sami Mujawar
@ 2019-02-25 13:48 ` Alexei Fedorov
2019-02-25 19:27 ` Laszlo Ersek
7 siblings, 0 replies; 9+ messages in thread
From: Alexei Fedorov @ 2019-02-25 13:48 UTC (permalink / raw)
To: Sami Mujawar, edk2-devel@lists.01.org
Cc: leif.lindholm@linaro.org, Matteo Carlini, Stephanie Hughes-Fitt,
nd
Reviewed-by:Alexei Fedorov <Alexei.Fedorov@arm.com>
Alexei
________________________________
From: Sami Mujawar <sami.mujawar@arm.com>
Sent: 21 February 2019 18:14
To: edk2-devel@lists.01.org
Cc: Alexei Fedorov; leif.lindholm@linaro.org; Matteo Carlini; Stephanie Hughes-Fitt; nd
Subject: [PATCH v1 0/6] DynamicTablesPkg: Framework updates and fixes
This patch series updates the Dynamic Tables Framework to
incorporate the following changes:
* Fix DEPEX to load modules in correct order.
* 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.
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_v1
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 depex and 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 | 11 +--
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, 119 insertions(+), 49 deletions(-)
--
'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 0/6] DynamicTablesPkg: Framework updates and fixes
2019-02-21 18:14 [PATCH v1 0/6] DynamicTablesPkg: Framework updates and fixes Sami Mujawar
` (6 preceding siblings ...)
2019-02-25 13:48 ` [PATCH v1 0/6] DynamicTablesPkg: Framework updates and fixes Alexei Fedorov
@ 2019-02-25 19:27 ` Laszlo Ersek
7 siblings, 0 replies; 9+ messages in thread
From: Laszlo Ersek @ 2019-02-25 19:27 UTC (permalink / raw)
To: Sami Mujawar, edk2-devel; +Cc: alexei.fedorov, nd, Stephanie.Hughes-Fitt
On 02/21/19 19:14, Sami Mujawar wrote:
> This patch series updates the Dynamic Tables Framework to
> incorporate the following changes:
> * Fix DEPEX to load modules in correct order.
> * 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.
>
> 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_v1
>
> 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 depex and 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 | 11 +--
> 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, 119 insertions(+), 49 deletions(-)
>
This patch series (0692ef87594f..07f4e26eb6fe) should be reverted, in my
opinion. In particular, patch #3 ("DynamicTablesPkg: Add OEM Info")
looks very much like a feature addition. We entered the soft feature
freeze on 2019-Feb-22.
https://lists.01.org/pipermail/edk2-devel/2019-February/037169.html
The patch was posted on 2019-Feb-21 alright, but Alexei's review
appeared on 2019-Feb-25 only (today).
The definition at
<https://github.com/lersek/edk2/wiki/SoftFeatureFreeze> says that the
necessary reviews too must not cross over into the soft feature freeze.
Please revert this set, and reapply it after the next stable tag is applied.
Thanks
Laszlo
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2019-02-25 19:27 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-21 18:14 [PATCH v1 0/6] DynamicTablesPkg: Framework updates and fixes Sami Mujawar
2019-02-21 18:14 ` [PATCH v1 1/6] DynamicTablesPkg: Fix depex and protocol section Sami Mujawar
2019-02-21 18:14 ` [PATCH v1 2/6] DynamicTablesPkg: Rename enum used for ID Mapping Sami Mujawar
2019-02-21 18:14 ` [PATCH v1 3/6] DynamicTablesPkg: Add OEM Info Sami Mujawar
2019-02-21 18:14 ` [PATCH v1 4/6] DynamicTablesPkg: DGB2: Update DBG2_DEBUG_PORT_DDI Sami Mujawar
2019-02-21 18:14 ` [PATCH v1 5/6] DynamicTablesPkg: Remove GIC Distributor Id field Sami Mujawar
2019-02-21 18:14 ` [PATCH v1 6/6] DynamicTablesPkg: Minor updates and fix typos Sami Mujawar
2019-02-25 13:48 ` [PATCH v1 0/6] DynamicTablesPkg: Framework updates and fixes Alexei Fedorov
2019-02-25 19:27 ` Laszlo Ersek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox