public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Tomas Pilar (tpilar)" <tomas@nuviainc.com>
To: devel@edk2.groups.io
Cc: Sami Mujawar <Sami.Mujawar@arm.com>,
	Alexei Fedorov <Alexei.Fedorov@arm.com>
Subject: [PATCH 0/8] ConfigurationManagerProtocol update
Date: Fri, 31 Jul 2020 17:19:18 +0100	[thread overview]
Message-ID: <20200731161926.341330-1-tomas@nuviainc.com> (raw)

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


             reply	other threads:[~2020-07-31 16:19 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-31 16:19 Tomas Pilar (tpilar) [this message]
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)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200731161926.341330-1-tomas@nuviainc.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox