From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by mx.groups.io with SMTP id smtpd.web11.52419.1643738675170623374 for ; Tue, 01 Feb 2022 10:04:35 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=gCODt6Zd; spf=pass (domain: kernel.org, ip: 139.178.84.217, mailfrom: ardb@kernel.org) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id AB02A61416 for ; Tue, 1 Feb 2022 18:04:34 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2223FC36AE2 for ; Tue, 1 Feb 2022 18:04:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1643738674; bh=h6YN4/WhsXWllyLoha4mP2PDhmG46xHUscRQgY1EFtU=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=gCODt6Zddq5hN+ZrtvDcFhnpUO9zp2xV3/OUm5lxVfcKfSjOE6EJsjb0FgwivDc7g dmGCULO2h5LqDamyDOhSyDlDHznQ8l1zZs4c255y3l4Y4zJ+A/xAtN1RMoCm4+CVY5 SBsmpBQrpH30O4BvIi37n0zdqaUqIY2v3aDdcWZyu6Txdn6m8JXzA1VIJfGA+5QiOs bUHdp0Vc/dcE6qJACVqLLPi6XTcVtD4Bzk5BapvWJ7uv1ZZVFB21fYVyxGW2ie7h9D /fbJpBUxuKorHw/D7Ya6U1/JaTgmNp2LQUnl4HHLS3GqqKwGbV/roJMXBiJpQaRsEl YHaMpIZVxJkGg== Received: by mail-wm1-f45.google.com with SMTP id l12-20020a7bc34c000000b003467c58cbdfso2639314wmj.2 for ; Tue, 01 Feb 2022 10:04:34 -0800 (PST) X-Gm-Message-State: AOAM5339Qfb0ORUJBmbztJM+UkZQgGE3N8MYJV4VBFeyLlTxCfuE+X8G ccrFJ42i6vN0YSry/8izCEmwKR7nlXwd98z3E2A= X-Google-Smtp-Source: ABdhPJy2Zjx6f8SKW8UhEMoQ3CS8oV983oG+h9U55krdP16T3bgtJJaEyxuIWrzXLZqm3Y0GkaMM9zX/CUIALfNPn1c= X-Received: by 2002:a05:600c:4f84:: with SMTP id n4mr2902007wmq.106.1643738672378; Tue, 01 Feb 2022 10:04:32 -0800 (PST) MIME-Version: 1.0 References: <20220201172252.799725-1-Pierre.Gondois@arm.com> In-Reply-To: <20220201172252.799725-1-Pierre.Gondois@arm.com> From: "Ard Biesheuvel" Date: Tue, 1 Feb 2022 19:04:19 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v5 0/9] Add ACPI support for Kvmtool To: Pierre Cc: edk2-devel-groups-io , Ard Biesheuvel , Sami Mujawar , Rebecca Cran Content-Type: text/plain; charset="UTF-8" On Tue, 1 Feb 2022 at 18:23, wrote: > > From: Pierre Gondois > > Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3742 > 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. > V4: > - Describe PCI legacy interrupts using GSI and remove link > device generation. [Pierre] > - Add more description in ASSERT macros. [Ard] > V5: > - Update DSDT revision to 2. [Rebecca] > > The changes can be seen at: > https://github.com/PierreARM/edk2/tree/1456_Add_ACPI_support_for_Kvmtool_v5 > The results of the CI can be seen at: > https://github.com/tianocore/edk2/pull/2476 > Merged as #2477 Thanks! Btw, my patch 'ArmVirtPkg/ArmVirtMemoryInitPeiLib: avoid redundant cache invalidation' reduces the startup time of the firmware substantially when running on an actual KVM host. > The patch depends on the KvmTool patch at: > https://lists.cs.columbia.edu/pipermail/kvmarm/2022-January/051865.html > > 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 (5): > DynamicTablesPkg: Print specifier macro for CM_OBJECT_ID > DynamicTablesPkg: FdtHwInfoParserLib: Parse Pmu info > DynamicTablesPkg: AmlLib: AmlAddPrtEntry() to handle GSI > DynamicTablesPkg: AcpiSsdtPcieLibArm: Remove link device generation > 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 | 239 +--- > .../AcpiSsdtPcieLibArm/SsdtPcieGenerator.h | 64 +- > .../Common/AmlLib/CodeGen/AmlCodeGen.c | 89 +- > .../FdtHwInfoParserLib/Gic/ArmGicCParser.c | 132 +- > .../FdtHwInfoParserLib/Gic/ArmGicCParser.h | 8 +- > 14 files changed, 1518 insertions(+), 334 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.inf > > -- > 2.25.1 >