public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "PierreGondois" <pierre.gondois@arm.com>
To: devel@edk2.groups.io
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>,
	Sami Mujawar <sami.mujawar@arm.com>,
	Rebecca Cran <quic_rcran@quicinc.com>,
	Pierre Gondois <pierre.gondois@arm.com>
Subject: [PATCH v5 0/9] Add ACPI support for Kvmtool
Date: Tue,  1 Feb 2022 18:22:43 +0100	[thread overview]
Message-ID: <20220201172252.799725-1-Pierre.Gondois@arm.com> (raw)

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

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

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


             reply	other threads:[~2022-02-01 17:22 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-01 17:22 PierreGondois [this message]
2022-02-01 17:22 ` [PATCH v5 1/9] DynamicTablesPkg: Print specifier macro for CM_OBJECT_ID PierreGondois
2022-02-01 17:22 ` [PATCH v5 2/9] DynamicTablesPkg: FdtHwInfoParserLib: Parse Pmu info PierreGondois
2022-02-01 17:22 ` [PATCH v5 3/9] DynamicTablesPkg: AmlLib: AmlAddPrtEntry() to handle GSI PierreGondois
2022-02-01 17:22 ` [PATCH v5 4/9] DynamicTablesPkg: AcpiSsdtPcieLibArm: Remove link device generation PierreGondois
2022-02-01 17:22 ` [PATCH v5 5/9] ArmVirtPkg: Add cspell exceptions PierreGondois
2022-02-01 17:22 ` [PATCH v5 6/9] ArmVirtPkg/Kvmtool: Add DSDT ACPI table PierreGondois
2022-02-01 17:22 ` [PATCH v5 7/9] ArmVirtPkg/Kvmtool: Add Configuration Manager PierreGondois
2022-02-01 17:22 ` [PATCH v5 8/9] ArmVirtPkg/Kvmtool: Enable ACPI support PierreGondois
2022-02-01 17:22 ` [PATCH v5 9/9] ArmVirtPkg/Kvmtool: Enable Acpiview PierreGondois
2022-02-01 18:04 ` [PATCH v5 0/9] Add ACPI support for Kvmtool Ard Biesheuvel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220201172252.799725-1-Pierre.Gondois@arm.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox