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.web12.8744.1643384456348637007 for ; Fri, 28 Jan 2022 07:40:56 -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 5517812FC; Fri, 28 Jan 2022 07:40:55 -0800 (PST) Received: from e126645.home (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 445503F793; Fri, 28 Jan 2022 07:40:54 -0800 (PST) From: "PierreGondois" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Sami Mujawar Subject: [PATCH v3 0/8] Add ACPI support for Kvmtool Date: Fri, 28 Jan 2022 16:40:55 +0100 Message-Id: <20220128154103.20752-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 Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3742 V1: https://edk2.groups.io/g/devel/message/76990 V2: - New patch: "DynamicTablesPkg: Print specifier macro for CM_OBJECT_ID" [Laszlo] - Only add AcpiView for ArmVirtKvmTool instead of all ArmVirt platforms. This is done using a 'ACPIVIEW_ENABLE' switch. [Laszlo] - Only generate ACPI tables for AARCH64. [Laszlo] - Various modifications (error handling, patch organization, coding style, etc). [Laszlo] V3: - To fix bugs reported by Linux (signaled by Ard): - Add patch to parse and populate PMU information. - Add patch to strictly comply to the first model at ACPI 6.4 s6.2.13 to describe PCI legacy interrupts using _PRT. - Add address size limit to IORT PCI root complex. The changes can be seen at: https://github.com/PierreARM/edk2/tree/1456_Add_ACPI_support_for_Kvmtool_= v3 The results of the CI can be seen at: https://github.com/tianocore/edk2/pull/2451/checks?check_run_id=3D4982549= 008 Kvmtool dynamically generates a device tree describing the platform to boot on. Using the patch-sets listed below, the DynamicTables framework generates ACPI tables describing a similar platform. This patch-set: - adds a ConfigurationManager and make use of the DynamicTablesPkg in for Kvmtool for AARCH64, allowing to generate ACPI tables - adds the acpiview command line utility to the ArmVirtPkg platform that request if via the ACPIVIEW_ENABLE macro - update ArmVirtPkg.ci.yaml to add new words and use the DynamicTablesPkg - adds a print specifier macro for the CM_OBJECT_ID type With this patchset, KvmTool on AARCH64 will use ACPI tables instead of a Device Tree (cf PcdForceNoAcpi Pcd). Pierre Gondois (4): DynamicTablesPkg: Print specifier macro for CM_OBJECT_ID DynamicTablesPkg: FdtHwInfoParserLib: Parse Pmu info DynamicTablesPkg: AcpiSsdtPcieLibArm: Fix _PRT description ArmVirtPkg: Add cspell exceptions Sami Mujawar (4): ArmVirtPkg/Kvmtool: Add DSDT ACPI table ArmVirtPkg/Kvmtool: Add Configuration Manager ArmVirtPkg/Kvmtool: Enable ACPI support ArmVirtPkg/Kvmtool: Enable Acpiview ArmVirtPkg/ArmVirt.dsc.inc | 5 +- ArmVirtPkg/ArmVirtKvmTool.dsc | 22 +- ArmVirtPkg/ArmVirtKvmTool.fdf | 15 +- ArmVirtPkg/ArmVirtPkg.ci.yaml | 6 +- .../KvmtoolCfgMgrDxe/AslTables/Dsdt.asl | 21 + .../KvmtoolCfgMgrDxe/ConfigurationManager.c | 1065 +++++++++++++++++ .../KvmtoolCfgMgrDxe/ConfigurationManager.h | 125 ++ .../ConfigurationManagerDxe.inf | 54 + .../Include/ConfigurationManagerObject.h | 7 +- .../AcpiSsdtPcieLibArm/SsdtPcieGenerator.c | 47 +- .../FdtHwInfoParserLib/Gic/ArmGicCParser.c | 131 +- .../FdtHwInfoParserLib/Gic/ArmGicCParser.h | 8 +- 12 files changed, 1491 insertions(+), 15 deletions(-) create mode 100644 ArmVirtPkg/KvmtoolCfgMgrDxe/AslTables/Dsdt.asl create mode 100644 ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.c create mode 100644 ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManager.h create mode 100644 ArmVirtPkg/KvmtoolCfgMgrDxe/ConfigurationManagerDxe.i= nf --=20 2.25.1