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.web10.6877.1624451913158107850 for ; Wed, 23 Jun 2021 05:38:33 -0700 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 C8B53ED1; Wed, 23 Jun 2021 05:38:32 -0700 (PDT) Received: from e120189.arm.com (unknown [10.57.78.245]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id ABF6F3F718; Wed, 23 Jun 2021 05:38:31 -0700 (PDT) From: "PierreGondois" To: devel@edk2.groups.io, Sami Mujawar , Alexei Fedorov Cc: Akanksha Jain , Alexandru Elisei Subject: [PATCH v1 00/14] Implement a FdtHwInfoParserLib Date: Wed, 23 Jun 2021 13:38:14 +0100 Message-Id: <20210623123828.23693-1-Pierre.Gondois@arm.com> X-Mailer: git-send-email 2.17.1 From: 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