[PATCH v1 00/14] Implement a FdtHwInfoParserLib


PierreGondois
 

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

The generic HwInfoParserLib provides an interface to parse hardware
information stored in certain a data type (e.g.: xml, device tree,
...) and generate objects that can be used by the DynamicTablesPkg
framework to generate another hardware description (e.g.:
SMBIOS tables, ACPI tables, ...).

This patch-set also implements a FdtHwInfoParserLib, parsing
hardware information stored in a device tree. The objects
generated by the library have been used ACPI tables.

The changes can be seen at: https://github.com/PierreARM/edk2/tree/1787_Implement_FdtHwInfoParser
The results of the CI can be seen at: https://github.com/tianocore/edk2/pull/1749

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

Pierre Gondois (14):
DynamicTablesPkg: Definition for HwInfoParser interface
DynamicTablesPkg: FdtHwInfoParser: CM Object descriptor helper
DynamicTablesPkg: FdtHwInfoParser: Add FDT utility functions
DynamicTablesPkg: FdtHwInfoParser: Add Boot Arch parser
DynamicTablesPkg: FdtHwInfoParser: Generic Timer Parser
DynamicTablesPkg: FdtHwInfoParser: Add Serial port parser
DynamicTablesPkg: FdtHwInfoParser: Add GICC parser
DynamicTablesPkg: FdtHwInfoParser: Add GICD parser
DynamicTablesPkg: FdtHwInfoParser: Add MSI Frame parser
DynamicTablesPkg: FdtHwInfoParser: Add ITS parser
DynamicTablesPkg: FdtHwInfoParser: Add GICR parser
DynamicTablesPkg: FdtHwInfoParser: Add GIC dispatcher
DynamicTablesPkg: FdtHwInfoParser: Add PCI config parser
DynamicTablesPkg: Add FdtHwInfoParser library

DynamicTablesPkg/DynamicTablesPkg.dec | 3 +
DynamicTablesPkg/DynamicTablesPkg.dsc | 3 +-
.../Include/Library/HwInfoParserLib.h | 99 ++
.../BootArch/ArmBootArchParser.c | 161 ++++
.../BootArch/ArmBootArchParser.h | 45 +
.../FdtHwInfoParserLib/CmObjectDescUtility.c | 305 ++++++
.../FdtHwInfoParserLib/CmObjectDescUtility.h | 131 +++
.../FdtHwInfoParserLib/FdtHwInfoParser.c | 193 ++++
.../FdtHwInfoParserLib/FdtHwInfoParser.h | 63 ++
.../FdtHwInfoParserInclude.h | 17 +
.../FdtHwInfoParserLib/FdtHwInfoParserLib.inf | 56 ++
.../Library/FdtHwInfoParserLib/FdtUtility.c | 909 ++++++++++++++++++
.../Library/FdtHwInfoParserLib/FdtUtility.h | 458 +++++++++
.../GenericTimer/ArmGenericTimerParser.c | 254 +++++
.../GenericTimer/ArmGenericTimerParser.h | 66 ++
.../FdtHwInfoParserLib/Gic/ArmGicCParser.c | 762 +++++++++++++++
.../FdtHwInfoParserLib/Gic/ArmGicCParser.h | 67 ++
.../FdtHwInfoParserLib/Gic/ArmGicDParser.c | 171 ++++
.../FdtHwInfoParserLib/Gic/ArmGicDParser.h | 50 +
.../FdtHwInfoParserLib/Gic/ArmGicDispatcher.c | 212 ++++
.../FdtHwInfoParserLib/Gic/ArmGicDispatcher.h | 72 ++
.../FdtHwInfoParserLib/Gic/ArmGicItsParser.c | 215 +++++
.../FdtHwInfoParserLib/Gic/ArmGicItsParser.h | 48 +
.../Gic/ArmGicMsiFrameParser.c | 214 +++++
.../Gic/ArmGicMsiFrameParser.h | 50 +
.../FdtHwInfoParserLib/Gic/ArmGicRParser.c | 237 +++++
.../FdtHwInfoParserLib/Gic/ArmGicRParser.h | 47 +
.../Pci/ArmPciConfigSpaceParser.c | 799 +++++++++++++++
.../Pci/ArmPciConfigSpaceParser.h | 142 +++
.../Serial/ArmSerialPortParser.c | 621 ++++++++++++
.../Serial/ArmSerialPortParser.h | 47 +
31 files changed, 6516 insertions(+), 1 deletion(-)
create mode 100644 DynamicTablesPkg/Include/Library/HwInfoParserLib.h
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/BootArch/ArmBootArchParser.c
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/BootArch/ArmBootArchParser.h
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/CmObjectDescUtility.c
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/CmObjectDescUtility.h
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParser.c
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParser.h
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserInclude.h
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtHwInfoParserLib.inf
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.c
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/FdtUtility.h
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/GenericTimer/ArmGenericTimerParser.c
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/GenericTimer/ArmGenericTimerParser.h
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicCParser.c
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicCParser.h
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicDParser.c
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicDParser.h
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicDispatcher.c
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicDispatcher.h
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicItsParser.c
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicItsParser.h
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicMsiFrameParser.c
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicMsiFrameParser.h
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicRParser.c
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Gic/ArmGicRParser.h
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.c
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Pci/ArmPciConfigSpaceParser.h
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.c
create mode 100644 DynamicTablesPkg/Library/FdtHwInfoParserLib/Serial/ArmSerialPortParser.h

--
2.17.1

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