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

Reply via email to