Hi Ard, On 1/12/22 12:16 PM, Ard Biesheuvel wrote: > On Wed, 12 Jan 2022 at 11:51, Ard Biesheuvel wrote: >> On Tue, 11 Jan 2022 at 17:16, 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] >>> >>> The changes can be seen at: https://github.com/PierreARM/edk2/tree/1456_Add_ACPI_support_for_Kvmtool_v2 >>> >>> 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). >>> >> How did you test this? Can we boot Linux in ACPI mode with these changes? >> > I managed to run this with a recent kvmtool and a recent kernel > (v5.15+), which recognizes DBG2 serial port type 18. > > I do see some errors in the log, though: > > [ 4.590652] No ACPI PMU IRQ for CPUn > > (for each CPU) > > and > > ACPI: IORT: [Firmware Bug]: Root complex missing memory address limit > ACPI: \_SB_.PCI0.LNKA: _CRS 36 not found in _PRS > ACPI: \_SB_.PCI0.LNKA: No IRQ available. Try pci=noacpi or acpi=off > > (for each virtio-pci device) Yes effectively, a recent kernel handling 'ACPI_DBG2_16550_WITH_GAS' is required to boot. About the error messages, I should have seen them. I will send a v3 handling them. Regards, Pierre