qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC PATCH 00/11] Generate ACPI v5.1 tables and expose it t


From: Shannon Zhao
Subject: [Qemu-devel] [RFC PATCH 00/11] Generate ACPI v5.1 tables and expose it to guest over fw_cfg on ARM
Date: Sat, 24 Jan 2015 17:21:09 +0800

This patch series generate seven ACPI v5.1 tables for machine virt on ARM.
The set of generated tables are:
- RSDP
- XSDT
- MADT
- GTDT
- FADT
- FACS
- DSDT

These tables are created dynamically using the function of acpi-build-utils.c,
taking into account the needed information passed from the virt machine model.
When the generation is finalized, it use fw_cfg to expose the tables to guest.

This patchset is based on Igor Mammedov's branch which can be found at below
git tree:
 https://github.com/imammedo/qemu/commits/ASL_API_v2

And this patchset refers to Alexander Spyridakis's patches which are sent to
qemu-devel mailing list before.
 http://lists.gnu.org/archive/html/qemu-devel/2014-10/msg03987.html

As UEFI (ArmVirtualizationQemu) doesn't support downloading ACPI tables over
fw_cfg, I just do compile test and start a guest with UEFI. But I contacted
Laszlo Ersek before, he says that if qemu can expose the generated ACPI
tables over fw_cfg, he can quickly add support in UEFI. So just send this
out and make it go forward.

Todo:
1) add GPIO controller in virt and expose it through ACPI
2) add cpu hotplug support

Any comments are welcome.

Thanks,
Shannon

Shannon Zhao (11):
  hw/i386: Move ACPI header definitions in an arch-independent location
  hw/arm/virt-acpi-build: Basic framwork for building ACPI tables
  hw/arm/virt-acpi-build: Generate RSDP table
  hw/arm/virt-acpi-build: Generate XSDT table and add a build_header
    function
  hw/arm/virt-acpi-build: Generate MADT table
  hw/arm/virt-acpi-build: Generate GTDT table
  hw/arm/virt-acpi-build: Generate FADT table and update ACPI headers
  hw/arm/virt-acpi-build: Generate FACS table and update ACPI headers
  hw/acpi/acpi-build-utils: Add acpi_fixed_memory32() and
    acpi_extended_irq()
  hw/arm/virt-acpi-build: Generation of DSDT table for virt devices
  hw/arm/virt: Enable dynamic generation of ACPI v5.1 tables

 default-configs/arm-softmmu.mak      |    1 +
 default-configs/i386-softmmu.mak     |    3 +
 default-configs/mips-softmmu.mak     |    3 +
 default-configs/mips64-softmmu.mak   |    3 +
 default-configs/mips64el-softmmu.mak |    3 +
 default-configs/mipsel-softmmu.mak   |    3 +
 default-configs/x86_64-softmmu.mak   |    3 +
 hw/acpi/Makefile.objs                |    5 +-
 hw/acpi/acpi-build-utils.c           |   42 +++
 hw/arm/Makefile.objs                 |    1 +
 hw/arm/virt-acpi-build.c             |  520 ++++++++++++++++++++++++++++++++++
 hw/arm/virt.c                        |   59 ++++-
 hw/i2c/Makefile.objs                 |    2 +-
 hw/i386/acpi-build.c                 |    2 +-
 hw/i386/acpi-defs.h                  |  368 ------------------------
 include/hw/acpi/acpi-build-utils.h   |    2 +
 include/hw/acpi/acpi-defs.h          |  503 ++++++++++++++++++++++++++++++++
 include/hw/arm/virt-acpi-build.h     |   71 +++++
 tests/bios-tables-test.c             |    2 +-
 19 files changed, 1219 insertions(+), 377 deletions(-)
 create mode 100644 hw/arm/virt-acpi-build.c
 delete mode 100644 hw/i386/acpi-defs.h
 create mode 100644 include/hw/acpi/acpi-defs.h
 create mode 100644 include/hw/arm/virt-acpi-build.h





reply via email to

[Prev in Thread] Current Thread [Next in Thread]