All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC PATCH v2 00/11] Generate ACPI v5.1 tables and expose it to guest over fw_cfg on ARM
@ 2015-01-29  8:37 Shannon Zhao
  2015-01-29  8:37 ` [Qemu-devel] [RFC PATCH v2 01/11] hw/i386: Move ACPI header definitions in an arch-independent location Shannon Zhao
                   ` (10 more replies)
  0 siblings, 11 replies; 15+ messages in thread
From: Shannon Zhao @ 2015-01-29  8:37 UTC (permalink / raw)
  To: qemu-devel, peter.maydell, pbonzini, christoffer.dall,
	a.spyridakis, claudio.fontana, imammedo, hanjun.guo, mst, lersek
  Cc: wanghaibin.wang, hangaohuai, peter.huangpeng

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2015-02-07  2:05 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-29  8:37 [Qemu-devel] [RFC PATCH v2 00/11] Generate ACPI v5.1 tables and expose it to guest over fw_cfg on ARM Shannon Zhao
2015-01-29  8:37 ` [Qemu-devel] [RFC PATCH v2 01/11] hw/i386: Move ACPI header definitions in an arch-independent location Shannon Zhao
2015-01-29  8:37 ` [Qemu-devel] [RFC PATCH v2 02/11] hw/i386/acpi-build: move generic acpi building helpers into dedictated file Shannon Zhao
2015-01-29  8:37 ` [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  8:37 ` [Qemu-devel] [RFC PATCH v2 04/11] hw/acpi/acpi-build-utils: Add acpi_memory32_fixed() and acpi_interrupt() Shannon Zhao
2015-01-29  8:37 ` [Qemu-devel] [RFC PATCH v2 05/11] hw/arm/virt-acpi-build: Generation of DSDT table for virt devices Shannon Zhao
2015-01-29  8:37 ` [Qemu-devel] [RFC PATCH v2 06/11] hw/arm/virt-acpi-build: Generate FADT table and update ACPI headers Shannon Zhao
2015-01-29  8:37 ` [Qemu-devel] [RFC PATCH v2 07/11] hw/arm/virt-acpi-build: Generate MADT table Shannon Zhao
2015-01-29  8:37 ` [Qemu-devel] [RFC PATCH v2 08/11] hw/arm/virt-acpi-build: Generate GTDT table Shannon Zhao
2015-01-29  8:37 ` [Qemu-devel] [RFC PATCH v2 09/11] hw/arm/virt-acpi-build: Generate XSDT table Shannon Zhao
2015-02-03 16:19   ` Igor Mammedov
2015-02-03 16:51     ` Laszlo Ersek
2015-02-07  2:04       ` Shannon Zhao
2015-01-29  8:37 ` [Qemu-devel] [RFC PATCH v2 10/11] hw/arm/virt-acpi-build: Generate RSDP table Shannon Zhao
2015-01-29  8:37 ` [Qemu-devel] [RFC PATCH v2 11/11] hw/arm/virt: Enable dynamic generation of ACPI v5.1 tables Shannon Zhao

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.