public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH 0/8] ConfigurationManagerProtocol update
@ 2020-07-31 16:19 Tomas Pilar (tpilar)
  2020-07-31 16:19 ` [PATCH 1/8] DynamicTablesPkg: Include BaseStackCheckLib Tomas Pilar (tpilar)
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Tomas Pilar (tpilar) @ 2020-07-31 16:19 UTC (permalink / raw)
  To: devel; +Cc: Sami Mujawar, Alexei Fedorov

This patch series updates the configuration manager protocol
API to allow for configuration managers that dynamically allocate
memory when servicing calls from the Dynamic Tables framework.

Helper methods are provided in TableHelperLib to ensure
backwards compatibility with configuration managers that
do not allocate the memory that is provided to the caller.
Additional methods are provided to reduce the difficulty of
developing Dynamic Tables extensions and Configuration Managers.

The Dynamic Tables framework is simplified to use the new revision 
of the protocol, while retaining backwards compatbility.

The refactoring was tested using the AcpiViewApp and the
Configuration Manager that is included in the JunoPkg, running
in the SbsaQemu platform. The resulting dump of the ACPI tables
is identical between a build that includes these patches and
a build without this patchset. 

Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Cc: Alexei Fedorov <Alexei.Fedorov@arm.com>
Signed-off-by: Tomas Pilar <tomas@nuviainc.com>
--

Tomas Pilar (8):
  DynamicTablesPkg: Include BaseStackCheckLib
  DynamicTablesPkg: Fold Namespaces into CmObjectId Enums
  DynamicTablesPkg: Add ConfigurationManagerDumpApp
  DynamicTablesPkg: Update ConfigurationManagerProtocol
  DynamicTablesPkg: Add CfgMgrProtocol helper functions
  DynamicTablesPkg/TableHelperLib: User friendly strings
  DynamicTablesPkg: Simplify AddAcpiHeader, CfgMgrGetInfo
  DynamicTablesPkg: Remove GET_OBJECT_LIST

 .../ConfigurationManagerDumpApp.c             |   69 ++
 .../ConfigurationManagerDumpApp.inf           |   41 +
 .../DynamicTableFactoryDxe.c                  |    1 -
 .../DynamicTableManagerDxe.c                  |   54 +-
 DynamicTablesPkg/DynamicTablesPkg.dsc         |    7 +
 .../Include/ArmNameSpaceObjects.h             |    3 +-
 .../Include/ConfigurationManagerHelper.h      |  126 --
 .../Include/ConfigurationManagerNameSpace.h   |   43 +
 .../Include/ConfigurationManagerObject.h      |   57 +-
 .../Include/Library/TableHelperLib.h          |  205 +++-
 .../Protocol/ConfigurationManagerProtocol.h   |   83 +-
 .../Include/StandardNameSpaceObjects.h        |    7 +-
 .../Acpi/Arm/AcpiDbg2LibArm/Dbg2Generator.c   |   44 +-
 .../Acpi/Arm/AcpiFadtLibArm/FadtGenerator.c   |  211 +---
 .../Acpi/Arm/AcpiGtdtLibArm/GtdtGenerator.c   |  242 ++--
 .../Acpi/Arm/AcpiIortLibArm/IortGenerator.c   | 1066 +++++------------
 .../Acpi/Arm/AcpiMadtLibArm/MadtGenerator.c   |  312 ++---
 .../Acpi/Arm/AcpiMcfgLibArm/McfgGenerator.c   |  108 +-
 .../Acpi/Arm/AcpiPpttLibArm/PpttGenerator.c   |  295 ++---
 .../Acpi/Arm/AcpiRawLibArm/RawGenerator.c     |    1 -
 .../Acpi/Arm/AcpiSpcrLibArm/SpcrGenerator.c   |   45 +-
 .../Acpi/Arm/AcpiSratLibArm/SratGenerator.c   |  447 +++----
 .../ConfigurationObjectStrings.c              |   92 ++
 .../Common/TableHelperLib/TableHelper.c       |  468 ++++++--
 .../Common/TableHelperLib/TableHelperLib.inf  |   10 +-
 25 files changed, 1766 insertions(+), 2271 deletions(-)
 create mode 100644 DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationManagerDumpApp.c
 create mode 100644 DynamicTablesPkg/Applications/ConfigurationManagerDumpApp/ConfigurationManagerDumpApp.inf
 delete mode 100644 DynamicTablesPkg/Include/ConfigurationManagerHelper.h
 create mode 100644 DynamicTablesPkg/Include/ConfigurationManagerNameSpace.h
 create mode 100644 DynamicTablesPkg/Library/Common/TableHelperLib/ConfigurationObjectStrings.c

-- 
2.25.1


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

end of thread, other threads:[~2020-07-31 16:19 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-07-31 16:19 [PATCH 0/8] ConfigurationManagerProtocol update Tomas Pilar (tpilar)
2020-07-31 16:19 ` [PATCH 1/8] DynamicTablesPkg: Include BaseStackCheckLib Tomas Pilar (tpilar)
2020-07-31 16:19 ` [PATCH 2/8] DynamicTablesPkg: Fold Namespaces into CmObjectId Enums Tomas Pilar (tpilar)
2020-07-31 16:19 ` [PATCH 3/8] DynamicTablesPkg: Add ConfigurationManagerDumpApp Tomas Pilar (tpilar)
2020-07-31 16:19 ` [PATCH 4/8] DynamicTablesPkg: Update ConfigurationManagerProtocol Tomas Pilar (tpilar)
2020-07-31 16:19 ` [PATCH 5/8] DynamicTablesPkg: Add CfgMgrProtocol helper functions Tomas Pilar (tpilar)
2020-07-31 16:19 ` [PATCH 6/8] DynamicTablesPkg/TableHelperLib: User friendly strings Tomas Pilar (tpilar)
2020-07-31 16:19 ` [PATCH 7/8] DynamicTablesPkg: Simplify AddAcpiHeader, CfgMgrGetInfo Tomas Pilar (tpilar)
2020-07-31 16:19 ` [PATCH 8/8] DynamicTablesPkg: Remove GET_OBJECT_LIST Tomas Pilar (tpilar)

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