Based on Igor Mammedov's new ASL API in qemu, Shannon Zhao is extending ACPI generation to arm/virt guests: <http://thread.gmane.org/gmane.comp.emulators.qemu/315673>.
This patchset is the edk2 counterpart. The first patch fixes a corner case in MdeModulePkg's AcpiTableDxe. The second patch turns OVMF's ACPI linker/loader into a standalone library, rebasing OVMF's AcpiPlatformDxe to it. The third patch adds a small ACPI platform driver to ArmVirtualizationQemu that wraps the new library. Public branch: <https://github.com/lersek/edk2/commits/armvirt_acpi>. I tested this series with Shannon's and Igor's work. A couple of fixes are needed for Shannon's series (he couldn't test his work because this code didn't exist yet), which I posted in the qemu-devel thread. With those in place, the smoke test is passed -- the Linux guest recognizes the tables, according to dmesg, the VCPU count is correct, and tables under /sys/firmware/acpi/tables can be decompiled with "iasl -d". Don't be "intimidated" by the diffstat; this series is actually pretty small. The bulk is code movement (which git reports nicely as rename & copy + modify operations). Thanks, Laszlo Laszlo Ersek (3): MdeModulePkg: Acpi: enforce exclusion between FirmwareCtrl and XFirmwareCtrl OvmfPkg: factor out QemuLoaderLib from AcpiPlatformDxe ArmVirtualizationPkg: add simple ACPI Platform Driver to the QEMU platform ArmPlatformPkg/ArmVirtualizationPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf | 50 ++++++ OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf | 2 +- OvmfPkg/Library/QemuLoaderLib/QemuLoaderLib.inf | 46 +++++ OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h | 7 +- OvmfPkg/Include/Library/QemuLoaderLib.h | 48 +++++ OvmfPkg/{AcpiPlatformDxe => Library/QemuLoaderLib}/QemuLoader.h | 0 ArmPlatformPkg/ArmVirtualizationPkg/AcpiPlatformDxe/AcpiPlatform.c | 39 ++++ MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c | 4 + OvmfPkg/AcpiPlatformDxe/Qemu.c | 664 +------------------------------------------------------------------- OvmfPkg/{AcpiPlatformDxe/Qemu.c => Library/QemuLoaderLib/QemuLoaderLib.c} | 522 ++--------------------------------------------------- ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualization.dsc.inc | 1 + ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.dsc | 7 + ArmPlatformPkg/ArmVirtualizationPkg/ArmVirtualizationQemu.fdf | 6 + OvmfPkg/OvmfPkg.dec | 4 + OvmfPkg/OvmfPkgIa32.dsc | 1 + OvmfPkg/OvmfPkgIa32X64.dsc | 1 + OvmfPkg/OvmfPkgX64.dsc | 1 + 17 files changed, 225 insertions(+), 1178 deletions(-) create mode 100644 ArmPlatformPkg/ArmVirtualizationPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf create mode 100644 OvmfPkg/Library/QemuLoaderLib/QemuLoaderLib.inf create mode 100644 OvmfPkg/Include/Library/QemuLoaderLib.h rename OvmfPkg/{AcpiPlatformDxe => Library/QemuLoaderLib}/QemuLoader.h (100%) create mode 100644 ArmPlatformPkg/ArmVirtualizationPkg/AcpiPlatformDxe/AcpiPlatform.c copy OvmfPkg/{AcpiPlatformDxe/Qemu.c => Library/QemuLoaderLib/QemuLoaderLib.c} (59%) -- 1.8.3.1 ------------------------------------------------------------------------------ New Year. New Location. New Benefits. New Data Center in Ashburn, VA. GigeNET is offering a free month of service with a new server in Ashburn. Choose from 2 high performing configs, both with 100TB of bandwidth. Higher redundancy.Lower latency.Increased capacity.Completely compliant. http://p.sf.net/sfu/gigenet _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
