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.web08.9722.1637665835265614523 for ; Tue, 23 Nov 2021 03:10:35 -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 5605D1063; Tue, 23 Nov 2021 03:10:28 -0800 (PST) Received: from e126645.nice.arm.com (unknown [10.34.129.32]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 7C4523F5A1; Tue, 23 Nov 2021 03:10:27 -0800 (PST) From: "PierreGondois" To: pierre.gondois@arm.com, devel@edk2.groups.io Cc: Sami Mujawar , Alexei Fedorov Subject: [PATCH v2 0/5] Add DynamicPlatRepoLib Date: Tue, 23 Nov 2021 12:10:05 +0100 Message-Id: <20211123111010.72679-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 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_v2 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 | 164 ++++++ .../DynamicPlatRepoLib/CmObjectTokenFixer.h | 52 ++ .../DynamicPlatRepoLib/DynamicPlatRepo.c | 515 ++++++++++++++++++ .../DynamicPlatRepoInternal.h | 78 +++ .../DynamicPlatRepoLib/DynamicPlatRepoLib.inf | 33 ++ .../DynamicPlatRepoLib/TokenGenerator.c | 28 + .../DynamicPlatRepoLib/TokenGenerator.h | 26 + .../Common/DynamicPlatRepoLib/TokenMapper.c | 218 ++++++++ .../Common/DynamicPlatRepoLib/TokenMapper.h | 123 +++++ 12 files changed, 1355 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