From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) by mx.groups.io with SMTP id smtpd.web10.436.1596212369599889648 for ; Fri, 31 Jul 2020 09:19:30 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@nuviainc-com.20150623.gappssmtp.com header.s=20150623 header.b=GbbBsm3V; spf=pass (domain: nuviainc.com, ip: 209.85.128.49, mailfrom: tomas@nuviainc.com) Received: by mail-wm1-f49.google.com with SMTP id k8so9763224wma.2 for ; Fri, 31 Jul 2020 09:19:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nuviainc-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=4zq4gG4dJJByEfkcIVxBgi2hjhSqKN3PSfK1gza/K38=; b=GbbBsm3VRh5iOYJkbpXgr6x2bEGDWby1SZfIExyHq+aLtfChKUO2OQZ3OK/tSmdra/ n6dKsfuH3M+FFFdZ5Yl+3frDdgSoKHl0l6Bl2l5CDolOjWmmhps3N/ja4xghe+smbLFw YHB0iWeO961s4rIxgDdGXRiZvdd0S10e2AVhsiyCmk3Zl0aMd3JV6CvhpnwUhyqsEkF7 Yr2pqEI/HPuS9cp3X/Te08ORciV331bz69FovaazR7zL3eAdZNokejnuCp2dz86ggj0V 45LvjzCkYSsRzDCRme1DPERvXy1vXNke2/QVACx6NSiyknFqU3V2Azke6nTPSSJ+LOXe ZV6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=4zq4gG4dJJByEfkcIVxBgi2hjhSqKN3PSfK1gza/K38=; b=ZruU3mUARKd79SjAtXvtSYPUGBBbcUkHtPTUYZmjjgiJxiSo07kl2+N/MDShZlxfNz ms/12Pc+rTWoVmnNZlcn6H025sW6M/1tP0pvZTKt+j4xY9wb6MJEZcidaBR1aW7dI7vz EQrQxWDuWxsDGxDpP4cIdIfgn9n4AxUk6B0iCXorEfdtjD9ZMfkIJpMCfh+05FQ2WExM ozVMnLdnhWKFVwRwYjkaI/biht+JfaPSn04vlnLl1YH552/17HrAkC6ljsPaopG8M2LS If+pNGrZbhF6RUNzqVOhnMYY5yHeN35QMbuvDzb3hytyLQ4Sv84nEdMo6pE5W9gIdPGD umzA== X-Gm-Message-State: AOAM532GOs186S0b57ZX8ztTklZrpOp2D1RK9YCzC53eDoQBi7KVFpLV 1dU9TG3WjhN6sZVjYgdpv/XQvBvlnMIAh6UvcFKcG/uLQSEKqjhwE+GkO+fswyoozGczTD7Pd77 59LYXlTwTWyDVOsecYZYIr/hkl85t47i5ZoUySlVVi8ISUvCGJaOandQmwS17MiDOnrc= X-Google-Smtp-Source: ABdhPJw7eNSyZjXSRr+6dkPQk9L8VNGhFOJun/3kYWY/yHMAn4UcqxiynnAKt3IyemREcw6hhSdttA== X-Received: by 2002:a7b:c401:: with SMTP id k1mr4391983wmi.18.1596212367791; Fri, 31 Jul 2020 09:19:27 -0700 (PDT) Return-Path: Received: from localhost.localdomain (cpc159317-cmbg20-2-0-cust162.5-4.cable.virginm.net. [81.111.29.163]) by smtp.gmail.com with ESMTPSA id v11sm14149739wrr.10.2020.07.31.09.19.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 31 Jul 2020 09:19:27 -0700 (PDT) From: "Tomas Pilar (tpilar)" To: devel@edk2.groups.io Cc: Sami Mujawar , Alexei Fedorov Subject: [PATCH 0/8] ConfigurationManagerProtocol update Date: Fri, 31 Jul 2020 17:19:18 +0100 Message-Id: <20200731161926.341330-1-tomas@nuviainc.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 Cc: Alexei Fedorov Signed-off-by: Tomas Pilar -- 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