qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC PATCH 0/7] hw/arm/virt: Dynamic ACPI v5.1 table generation
@ 2014-10-30 17:43 Alexander Spyridakis
  2014-10-30 17:43 ` [Qemu-devel] [RFC PATCH 1/7] hw/i386: Move ACPI header definitions in an arch-independent location Alexander Spyridakis
                   ` (2 more replies)
  0 siblings, 3 replies; 71+ messages in thread
From: Alexander Spyridakis @ 2014-10-30 17:43 UTC (permalink / raw)
  To: qemu-devel, peter.maydell; +Cc: tech, linaro-acpi

Currently, the virt machine model generates Device Tree information dynamically based on the existing devices in the system. This patch series extends the same concept but for ACPI information instead. A total of seven tables have been
implemented in this patch series, which is the minimum for a basic ARM support.

The set of generated tables are:
- RSDP
- XSDT
- MADT
- GTDT
- FADT
- FACS
- DSDT

The tables are created in standalone buffers, taking into account the
needed information passed from the virt machine model. When the generation
is finalized, the individual buffers are compacted to a single ACPI binary
blob, where it is injected on the guest memory space in a fixed location.
The guest kernel can find the ACPI tables by providing to it the physical
address of the ACPI blob (e.g. acpi_rsdp=0x47000000 boot argument).

This series has been tested on the Foundation Model 0.8 build 5206 and
the Juno development board. For kernel and driver support it is based
on the "Introduce ACPI for ARM64 based on ACPI 5.1" and
"Drivers for Juno to boot from ACPI" patch series from Hanjun Guo.

Alexander Spyridakis (7):
  hw/i386: Move ACPI header definitions in an arch-independent location
  hw/arm/virt-acpi: Basic skeleton for dynamic generation of ACPI tables
  hw/arm/virt-acpi: Generate RSDP and XSDT, add helper functions
  hw/arm/virt-acpi: Generate FACS and FADT, update ACPI headers
  hw/arm/virt-acpi: GIC and Arch Timer definitions in MADT and GTDT
  hw/arm/virt-acpi: Generation of DSDT including virt devices
  hw/arm/virt: Enable dynamic generation of ACPI v5.1 tables

 hw/arm/Makefile.objs        |   2 +-
 hw/arm/boot.c               |  26 +++
 hw/arm/virt-acpi.c          | 555 ++++++++++++++++++++++++++++++++++++++++++++
 hw/arm/virt.c               |  54 ++++-
 hw/i386/acpi-build.c        |   2 +-
 hw/i386/acpi-defs.h         | 368 -----------------------------
 include/hw/acpi/acpi-defs.h | 535 ++++++++++++++++++++++++++++++++++++++++++
 include/hw/arm/arm.h        |   2 +
 include/hw/arm/virt-acpi.h  |  73 ++++++
 tests/bios-tables-test.c    |   2 +-
 10 files changed, 1244 insertions(+), 375 deletions(-)
 create mode 100644 hw/arm/virt-acpi.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.h

-- 
1.9.1

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

end of thread, other threads:[~2015-03-09 14:50 UTC | newest]

Thread overview: 71+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-30 17:43 [Qemu-devel] [RFC PATCH 0/7] hw/arm/virt: Dynamic ACPI v5.1 table generation Alexander Spyridakis
2014-10-30 17:43 ` [Qemu-devel] [RFC PATCH 1/7] hw/i386: Move ACPI header definitions in an arch-independent location Alexander Spyridakis
2014-10-30 17:44 ` [Qemu-devel] [RFC PATCH 2/7] hw/arm/virt-acpi: Basic skeleton for dynamic generation of ACPI tables Alexander Spyridakis
2014-10-30 17:46   ` Peter Maydell
2014-10-30 17:52 ` [Qemu-devel] [RFC PATCH 0/7] hw/arm/virt: Dynamic ACPI v5.1 table generation Peter Maydell
2014-10-30 18:02   ` [Qemu-devel] [Linaro-acpi] " Mark Rutland
2014-11-05  9:58     ` Claudio Fontana
2014-11-06 12:44       ` Peter Maydell
2014-11-06 12:57         ` Igor Mammedov
2014-11-06 13:33         ` Alexander Spyridakis
2014-11-06 13:52           ` Peter Maydell
2014-11-11 15:29           ` Mark Rutland
2014-11-11 16:31             ` Christoffer Dall
2014-11-11 16:48               ` Mark Rutland
2014-11-11 21:33                 ` Christoffer Dall
2014-11-12 10:38                   ` Mark Rutland
2014-11-12 10:44                     ` Christoffer Dall
2014-11-12 10:55                       ` Julien Grall
2014-11-12 11:07                       ` Mark Rutland
2014-11-12 11:38                         ` Graeme Gregory
2014-11-12 11:52                     ` Paolo Bonzini
2014-11-12 12:04                       ` Mark Rutland
2014-11-12 12:12                         ` Paolo Bonzini
2014-11-12 13:27                         ` Peter Maydell
2014-11-12 13:32                           ` Paolo Bonzini
2014-11-12 15:01                           ` Claudio Fontana
2014-11-12 15:32                             ` Arnd Bergmann
2014-11-12 15:39                               ` Peter Maydell
2014-11-12 15:52                                 ` Paolo Bonzini
2014-11-12 15:57                                   ` Arnd Bergmann
2014-11-12 16:04                                     ` Paolo Bonzini
2014-11-12 16:13                                       ` Arnd Bergmann
2014-11-12 16:25                                         ` Paolo Bonzini
2014-11-12 17:33                                           ` Peter Maydell
2014-11-13  8:32                                           ` Gerd Hoffmann
2014-11-13  8:14                             ` Gerd Hoffmann
2014-11-13  8:10                           ` Gerd Hoffmann
2014-11-13 18:16                             ` Al Stone
2014-11-13 19:22                               ` Paolo Bonzini
2014-11-14  7:54                               ` Gerd Hoffmann
2014-11-12  9:08             ` Claudio Fontana
2014-11-12 10:56               ` Mark Rutland
2014-11-12 11:15                 ` Arnd Bergmann
2014-11-12 11:34                   ` Christoffer Dall
2014-11-12 11:48                     ` Paolo Bonzini
2014-11-12 12:18                       ` Mark Rutland
2014-11-12 12:27                         ` Paolo Bonzini
2014-11-12 12:40                           ` Christoffer Dall
2014-11-12 13:08                           ` Arnd Bergmann
2014-11-12 13:27                             ` Paolo Bonzini
2014-11-12 13:41                           ` Mark Rutland
2014-11-12 13:59                             ` Paolo Bonzini
2014-11-12 14:10                               ` Mark Rutland
2014-11-12 14:46                                 ` Paolo Bonzini
2014-11-12 13:03                     ` Arnd Bergmann
2014-11-12 13:35                       ` Christoffer Dall
2014-11-12 11:55                   ` Mark Rutland
2014-11-12 18:10               ` Peter Maydell
2014-11-13  9:57                 ` Claudio Fontana
2014-11-17 17:52                   ` Peter Maydell
2014-11-06  6:53     ` Hanjun Guo
2014-11-06 13:30       ` Mark Rutland
2014-11-06 13:33         ` Arnd Bergmann
2014-11-06 15:57       ` Paolo Bonzini
2014-11-06 16:18         ` Igor Mammedov
2014-11-06 16:27           ` Paolo Bonzini
2014-11-07  8:31         ` Hanjun Guo
2015-03-09 12:12   ` Leif Lindholm
2015-03-09 12:28     ` Peter Maydell
2015-03-09 12:47       ` Shannon Zhao
2015-03-09 14:50       ` Leif Lindholm

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).