[PATCH v1 0/5] Add DynamicPlatRepoLib


PierreGondois
 

From: Pierre Gondois <Pierre.Gondois@arm.com>

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_Add_Dynamic_Plarform_Repository_Lib_v1
The results of the CI can be seen at: https://github.com/tianocore/edk2/pull/1752

This patch-set is dependent over the following patch-sets:
[PATCH v1 00/10] Various DynamicTablesPkg modifications
https://edk2.groups.io/g/devel/message/76929
and:
[PATCH v1 00/13] Create a SSDT CPU topology generator
https://edk2.groups.io/g/devel/message/76941
and:
[PATCH v1 0/7] Create a SSDT PCIe generator
https://edk2.groups.io/g/devel/message/76958
and:
[PATCH v1 00/14] Implement a FdtHwInfoParserLib
https://edk2.groups.io/g/devel/message/76967

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 | 518 ++++++++++++++++++
.../DynamicPlatRepoInternal.h | 78 +++
.../DynamicPlatRepoLib/DynamicPlatRepoLib.inf | 33 ++
.../DynamicPlatRepoLib/TokenGenerator.c | 28 +
.../DynamicPlatRepoLib/TokenGenerator.h | 26 +
.../Common/DynamicPlatRepoLib/TokenMapper.c | 214 ++++++++
.../Common/DynamicPlatRepoLib/TokenMapper.h | 123 +++++
12 files changed, 1354 insertions(+)
create mode 100644 DynamicTablesPkg/Include/Library/DynamicPlatRepoLib.h
create mode 100644 DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.c
create mode 100644 DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/CmObjectTokenFixer.h
create mode 100644 DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepo.c
create mode 100644 DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepoInternal.h
create mode 100644 DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/DynamicPlatRepoLib.inf
create mode 100644 DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/TokenGenerator.c
create mode 100644 DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/TokenGenerator.h
create mode 100644 DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/TokenMapper.c
create mode 100644 DynamicTablesPkg/Library/Common/DynamicPlatRepoLib/TokenMapper.h

--
2.17.1

Join devel@edk2.groups.io to automatically receive all group messages.