[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH v2 00/11] Generate ACPI v5.1 tables and expose i
From: |
Shannon Zhao |
Subject: |
[Qemu-devel] [RFC PATCH v2 00/11] Generate ACPI v5.1 tables and expose it to guest over fw_cfg on ARM |
Date: |
Thu, 29 Jan 2015 16:37:02 +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
- 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
Thanks to Laszlo's work on UEFI (ArmVirtualizationQemu) supporting downloading
ACPI tables over fw_cfg, we now can use ACPI in VM. I have done following vm
startup test:
xp, windows2008, sles11 on X86
Linux on ARM64
Laszlo's patch
http://thread.gmane.org/gmane.comp.bios.tianocore.devel/12158
Todo:
1) add GPIO controller in virt and expose it through ACPI
2) add cpu hotplug support
Any comments are welcome.
changes since v1:
* fix bug found by Laszlo
* move common helpers into dedictated file and change generating
table order according to Igor's comments
* fix copyright and function name according to Michael's comments
Shannon Zhao (11):
hw/i386: Move ACPI header definitions in an arch-independent location
hw/i386/acpi-build: move generic acpi building helpers into
dedictated file
hw/arm/virt-acpi-build: Basic framework for building ACPI tables on
ARM
hw/acpi/acpi-build-utils: Add acpi_memory32_fixed() and
acpi_interrupt()
hw/arm/virt-acpi-build: Generation of DSDT table for virt devices
hw/arm/virt-acpi-build: Generate FADT table and update ACPI headers
hw/arm/virt-acpi-build: Generate MADT table
hw/arm/virt-acpi-build: Generate GTDT table
hw/arm/virt-acpi-build: Generate XSDT table
hw/arm/virt-acpi-build: Generate RSDP table
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 | 103 +++++++-
hw/arm/Makefile.objs | 1 +
hw/arm/virt-acpi-build.c | 519 ++++++++++++++++++++++++++++++++++
hw/arm/virt.c | 59 ++++-
hw/i2c/Makefile.objs | 2 +-
hw/i386/acpi-build.c | 113 ++------
hw/i386/acpi-build.h | 3 +
hw/i386/acpi-defs.h | 368 ------------------------
include/hw/acpi/acpi-build-utils.h | 28 ++-
include/hw/acpi/acpi-defs.h | 488 ++++++++++++++++++++++++++++++++
include/hw/arm/virt-acpi-build.h | 71 +++++
tests/bios-tables-test.c | 2 +-
20 files changed, 1312 insertions(+), 469 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
- [Qemu-devel] [RFC PATCH v2 00/11] Generate ACPI v5.1 tables and expose it to guest over fw_cfg on ARM,
Shannon Zhao <=
- [Qemu-devel] [RFC PATCH v2 09/11] hw/arm/virt-acpi-build: Generate XSDT table, Shannon Zhao, 2015/01/29
- [Qemu-devel] [RFC PATCH v2 04/11] hw/acpi/acpi-build-utils: Add acpi_memory32_fixed() and acpi_interrupt(), Shannon Zhao, 2015/01/29
- [Qemu-devel] [RFC PATCH v2 05/11] hw/arm/virt-acpi-build: Generation of DSDT table for virt devices, Shannon Zhao, 2015/01/29
- [Qemu-devel] [RFC PATCH v2 10/11] hw/arm/virt-acpi-build: Generate RSDP table, Shannon Zhao, 2015/01/29
- [Qemu-devel] [RFC PATCH v2 06/11] hw/arm/virt-acpi-build: Generate FADT table and update ACPI headers, Shannon Zhao, 2015/01/29
- [Qemu-devel] [RFC PATCH v2 02/11] hw/i386/acpi-build: move generic acpi building helpers into dedictated file, Shannon Zhao, 2015/01/29
- [Qemu-devel] [RFC PATCH v2 01/11] hw/i386: Move ACPI header definitions in an arch-independent location, Shannon Zhao, 2015/01/29
- [Qemu-devel] [RFC PATCH v2 03/11] hw/arm/virt-acpi-build: Basic framework for building ACPI tables on ARM, Shannon Zhao, 2015/01/29
- [Qemu-devel] [RFC PATCH v2 08/11] hw/arm/virt-acpi-build: Generate GTDT table, Shannon Zhao, 2015/01/29
- [Qemu-devel] [RFC PATCH v2 07/11] hw/arm/virt-acpi-build: Generate MADT table, Shannon Zhao, 2015/01/29