From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web09.9542.1639042379532854133 for ; Thu, 09 Dec 2021 01:32:59 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: pierre.gondois@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 37C2111FB; Thu, 9 Dec 2021 01:32:59 -0800 (PST) Received: from e126645.nice.arm.com (unknown [10.34.129.54]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 407FC3F73B; Thu, 9 Dec 2021 01:32:58 -0800 (PST) From: "PierreGondois" To: devel@edk2.groups.io Cc: Sami Mujawar , Alexei Fedorov Subject: [PATCH v3 0/5] Add DynamicPlatRepoLib Date: Thu, 9 Dec 2021 10:32:46 +0100 Message-Id: <20211209093251.1249368-1-Pierre.Gondois@arm.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Pierre Gondois v3: - Run uncrustify and apply the required formatting. [Pierre] - No other change with v2. [Pierre] v2: - Various small fixes (change status returned, reset values when freeing memory, ...). [Sami] Ref:https://bugzilla.tianocore.org/show_bug.cgi?id=3D3743 The DynamicPlatRepoLib is library allowing to receive and then give Configuration Manager (CM) objects. After being initialized, a dynamic platform repository can receive CMObjects. The library generates a token to uniquely identify the CMObject in the repository. The dynamic platform repository must then be 'finalized' before receiving CMObject queries. This library is complementary to the 'static' definition of CMObjects (i.e. as C structs). It is particularly useful when using a HwInfoParserLib that dynamically creates CMObjects (from a device tree for instance). The changes can be seen at: https://github.com/PierreARM/edk2/tree/1788_A= dd_Dynamic_Plarform_Repository_Lib_v3 Pierre Gondois (5): DynamicTablesPkg: Definition for DynamicPlatRepoLib interface DynamicTablesPkg: DynamicPlatRepo: Add TokenGenerator DynamicTablesPkg: DynamicPlatRepo: Add TokenFixer DynamicTablesPkg: DynamicPlatRepo: Add TokenMapper DynamicTablesPkg: Add DynamicPlatRepo library DynamicTablesPkg/DynamicTablesPkg.dec | 3 + DynamicTablesPkg/DynamicTablesPkg.dsc | 1 + .../Include/Library/DynamicPlatRepoLib.h | 114 ++++ .../DynamicPlatRepoLib/CmObjectTokenFixer.c | 165 ++++++ .../DynamicPlatRepoLib/CmObjectTokenFixer.h | 52 ++ .../DynamicPlatRepoLib/DynamicPlatRepo.c | 521 ++++++++++++++++++ .../DynamicPlatRepoInternal.h | 78 +++ .../DynamicPlatRepoLib/DynamicPlatRepoLib.inf | 33 ++ .../DynamicPlatRepoLib/TokenGenerator.c | 29 + .../DynamicPlatRepoLib/TokenGenerator.h | 26 + .../Common/DynamicPlatRepoLib/TokenMapper.c | 224 ++++++++ .../Common/DynamicPlatRepoLib/TokenMapper.h | 123 +++++ 12 files changed, 1369 insertions(+) create mode 100644 DynamicTablesPkg/Include/Library/DynamicPlatRepoLib.h create mode 100644 DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/Cm= ObjectTokenFixer.c create mode 100644 DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/Cm= ObjectTokenFixer.h create mode 100644 DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/Dy= namicPlatRepo.c create mode 100644 DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/Dy= namicPlatRepoInternal.h create mode 100644 DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/Dy= namicPlatRepoLib.inf create mode 100644 DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/To= kenGenerator.c create mode 100644 DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/To= kenGenerator.h create mode 100644 DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/To= kenMapper.c create mode 100644 DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/To= kenMapper.h -- 2.25.1