All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: "Michael S. Tsirkin" <mst@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v3 00/14] qemu: generate acpi tables for the guest
Date: Mon, 29 Jul 2013 10:27:12 -0500	[thread overview]
Message-ID: <87d2q1qtdb.fsf@codemonkey.ws> (raw)
In-Reply-To: <1374681580-17439-1-git-send-email-mst@redhat.com>

"Michael S. Tsirkin" <mst@redhat.com> writes:

> This code can also be found here:
> git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git acpi
>
> Please review, and consider for 1.6.

This isn't ready for 1.6 so it's going to have to wait for 1.7.

Regards,

Anthony Liguori

>
> Changes from v2 repost:
> - address comment by Anthony - convert to use APIs implemented
>   using QOM
> - address comment by Anthony - avoid tricky pointer path,
>   use GArray from glib instead
> - Address lots of comments by Hu Tao and Laszlo Ersek
> - rebase to latest bits
>
> Changes from v2:
> - added missing patches to make it actually build
> Changes from v1 RFC:
> - added code to address cross version compatibility
> - rebased to latest bits
> - updated seabios code to latest bits (added pvpanic device)
>
> This patchset moves all generation of ACPI tables
> from guest BIOS to the hypervisor.
>
> Although ACPI tables come from a system BIOS on real hw,
> it makes sense that the ACPI tables are coupled with the
> virtual machine, since they have to abstract the x86 machine to
> the OS's.
>
> This is widely desired as a way to avoid the churn
> and proliferation of QEMU-specific interfaces
> associated with ACPI tables in bios code.
>
> There's a bit of code duplication where we
> already declare similar acpi structures in qemu.
>
> I think it's best to do it in this order: port
> code directly, and apply cleanups and reduce duplication
> that results, on top.
> This way it's much easier to see that we don't introduce
> regressions.
>
> In particular, I booted a guest on qemu with and without the
> change, and verified that ACPI tables are
> unchanged except for trivial pointer address changes.
>
> Such binary compatibility makes it easier to be
> confident that this change won't break things.
>
> Michael S. Tsirkin (14):
>   hw/i386/pc.c: move IO_APIC_DEFAULT_ADDRESS to include/hw/i386/apic.h
>   i386: add ACPI table files from seabios
>   acpi: add rules to compile ASL source
>   acpi: pre-compiled ASL files
>   loader: use file path size from fw_cfg.h
>   i386: add bios linker/loader
>   loader: support for unmapped ROM blobs
>   loader: allow adding ROMs in done callbacks
>   i386: define pc guest info
>   ich9: APIs for pc guest info
>   piix: APIs for pc guest info
>   pvpanic: add API to access io port
>   hpet: add API to find it
>   i386: ACPI table generation code from seabios
>
>  configure                            |    9 +-
>  hw/acpi/ich9.c                       |    6 +
>  hw/acpi/piix4.c                      |   29 +-
>  hw/core/loader.c                     |   40 +-
>  hw/i386/Makefile.objs                |   27 +
>  hw/i386/acpi-build.c                 |  907 +++++
>  hw/i386/acpi-defs.h                  |  327 ++
>  hw/i386/acpi-dsdt-cpu-hotplug.dsl    |   93 +
>  hw/i386/acpi-dsdt-dbug.dsl           |   41 +
>  hw/i386/acpi-dsdt-hpet.dsl           |   51 +
>  hw/i386/acpi-dsdt-isa.dsl            |  117 +
>  hw/i386/acpi-dsdt-pci-crs.dsl        |  105 +
>  hw/i386/acpi-dsdt.dsl                |  343 ++
>  hw/i386/acpi-dsdt.hex.generated      | 4409 ++++++++++++++++++++
>  hw/i386/bios-linker-loader.c         |  156 +
>  hw/i386/pc.c                         |   37 +-
>  hw/i386/pc_piix.c                    |    5 +
>  hw/i386/pc_q35.c                     |    3 +
>  hw/i386/q35-acpi-dsdt.dsl            |  452 +++
>  hw/i386/q35-acpi-dsdt.hex.generated  | 7346 ++++++++++++++++++++++++++++++++++
>  hw/i386/ssdt-misc.dsl                |  119 +
>  hw/i386/ssdt-misc.hex.generated      |  190 +
>  hw/i386/ssdt-pcihp.dsl               |   51 +
>  hw/i386/ssdt-pcihp.hex.generated     |  108 +
>  hw/i386/ssdt-proc.dsl                |   63 +
>  hw/i386/ssdt-proc.hex.generated      |  134 +
>  hw/isa/lpc_ich9.c                    |   19 +
>  hw/lm32/lm32_hwsetup.h               |    2 +-
>  hw/mips/mips_malta.c                 |    2 +-
>  hw/misc/pvpanic.c                    |   11 +
>  hw/pci-host/piix.c                   |    8 +
>  hw/pci-host/q35.c                    |   10 +
>  hw/timer/hpet.c                      |    5 +
>  include/hw/acpi/ich9.h               |    2 +
>  include/hw/i386/acpi-build.h         |    9 +
>  include/hw/i386/apic.h               |    2 +
>  include/hw/i386/bios-linker-loader.h |   26 +
>  include/hw/i386/ich9.h               |    3 +
>  include/hw/i386/pc.h                 |   34 +
>  include/hw/loader.h                  |    5 +-
>  include/hw/nvram/fw_cfg.h            |    4 +-
>  include/hw/pci-host/q35.h            |    2 +
>  include/hw/timer/hpet.h              |    2 +
>  include/qemu/typedefs.h              |    2 +
>  scripts/acpi_extract.py              |  362 ++
>  scripts/acpi_extract_preprocess.py   |   51 +
>  scripts/update-acpi.sh               |    4 +
>  vl.c                                 |    3 +
>  48 files changed, 15721 insertions(+), 15 deletions(-)
>  create mode 100644 hw/i386/acpi-build.c
>  create mode 100644 hw/i386/acpi-defs.h
>  create mode 100644 hw/i386/acpi-dsdt-cpu-hotplug.dsl
>  create mode 100644 hw/i386/acpi-dsdt-dbug.dsl
>  create mode 100644 hw/i386/acpi-dsdt-hpet.dsl
>  create mode 100644 hw/i386/acpi-dsdt-isa.dsl
>  create mode 100644 hw/i386/acpi-dsdt-pci-crs.dsl
>  create mode 100644 hw/i386/acpi-dsdt.dsl
>  create mode 100644 hw/i386/acpi-dsdt.hex.generated
>  create mode 100644 hw/i386/bios-linker-loader.c
>  create mode 100644 hw/i386/q35-acpi-dsdt.dsl
>  create mode 100644 hw/i386/q35-acpi-dsdt.hex.generated
>  create mode 100644 hw/i386/ssdt-misc.dsl
>  create mode 100644 hw/i386/ssdt-misc.hex.generated
>  create mode 100644 hw/i386/ssdt-pcihp.dsl
>  create mode 100644 hw/i386/ssdt-pcihp.hex.generated
>  create mode 100644 hw/i386/ssdt-proc.dsl
>  create mode 100644 hw/i386/ssdt-proc.hex.generated
>  create mode 100644 include/hw/i386/acpi-build.h
>  create mode 100644 include/hw/i386/bios-linker-loader.h
>  create mode 100755 scripts/acpi_extract.py
>  create mode 100755 scripts/acpi_extract_preprocess.py
>  create mode 100644 scripts/update-acpi.sh
>
> -- 
> MST

      parent reply	other threads:[~2013-07-29 15:27 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-24 16:01 [Qemu-devel] [PATCH v3 00/14] qemu: generate acpi tables for the guest Michael S. Tsirkin
2013-07-24 16:01 ` [Qemu-devel] [PATCH v3 01/14] hw/i386/pc.c: move IO_APIC_DEFAULT_ADDRESS to include/hw/i386/apic.h Michael S. Tsirkin
2013-07-25 12:05   ` Gerd Hoffmann
2013-07-28  0:44   ` Andreas Färber
2013-07-24 16:01 ` [Qemu-devel] [PATCH v3 02/14] i386: add ACPI table files from seabios Michael S. Tsirkin
2013-07-24 16:01 ` [Qemu-devel] [PATCH v3 03/14] acpi: add rules to compile ASL source Michael S. Tsirkin
2013-07-25 12:09   ` Gerd Hoffmann
2013-07-24 16:01 ` [Qemu-devel] [PATCH v3 04/14] acpi: pre-compiled ASL files Michael S. Tsirkin
2013-07-24 16:01 ` [Qemu-devel] [PATCH v3 05/14] loader: use file path size from fw_cfg.h Michael S. Tsirkin
2013-07-24 23:42   ` Andreas Färber
2013-07-25 12:10   ` Gerd Hoffmann
2013-07-24 16:01 ` [Qemu-devel] [PATCH v3 06/14] i386: add bios linker/loader Michael S. Tsirkin
2013-07-25 12:11   ` Gerd Hoffmann
2013-07-26  9:42   ` Gerd Hoffmann
2013-07-28  8:08     ` Michael S. Tsirkin
2013-07-24 16:01 ` [Qemu-devel] [PATCH v3 07/14] loader: support for unmapped ROM blobs Michael S. Tsirkin
2013-07-25 12:14   ` Gerd Hoffmann
2013-07-25 12:28     ` Michael S. Tsirkin
2013-07-25 12:43       ` Gerd Hoffmann
2013-07-25 13:03         ` Michael S. Tsirkin
2013-07-25 19:57         ` Michael S. Tsirkin
2013-07-24 16:02 ` [Qemu-devel] [PATCH v3 08/14] loader: allow adding ROMs in done callbacks Michael S. Tsirkin
2013-07-25 12:15   ` Gerd Hoffmann
2013-07-24 16:02 ` [Qemu-devel] [PATCH v3 09/14] i386: define pc guest info Michael S. Tsirkin
2013-07-25 12:31   ` Gerd Hoffmann
2013-07-28  0:41   ` Andreas Färber
2013-07-28  7:36     ` Michael S. Tsirkin
2013-07-24 16:02 ` [Qemu-devel] [PATCH v3 10/14] ich9: APIs for " Michael S. Tsirkin
2013-07-25 12:33   ` Gerd Hoffmann
2013-07-28  0:37   ` Andreas Färber
2013-07-28  7:35     ` Michael S. Tsirkin
2013-07-24 16:02 ` [Qemu-devel] [PATCH v3 11/14] piix: " Michael S. Tsirkin
2013-07-25  9:32   ` Michael S. Tsirkin
2013-07-28  0:12     ` Andreas Färber
2013-07-28  7:30       ` Michael S. Tsirkin
2013-07-28  9:38         ` Andreas Färber
2013-07-28 10:14           ` Michael S. Tsirkin
2013-07-28 10:31             ` Andreas Färber
2013-07-28 11:08               ` Andreas Färber
2013-07-28 12:19                 ` Michael S. Tsirkin
2013-07-25 12:34   ` Gerd Hoffmann
2013-07-24 16:02 ` [Qemu-devel] [PATCH v3 12/14] pvpanic: add API to access io port Michael S. Tsirkin
2013-07-25 10:29   ` Gerd Hoffmann
2013-07-25 10:55     ` Michael S. Tsirkin
2013-07-25 10:58       ` Michael S. Tsirkin
2013-07-25 11:05       ` Gerd Hoffmann
2013-07-25 11:22         ` Michael S. Tsirkin
2013-07-25 12:03           ` Gerd Hoffmann
2013-07-25 12:23             ` Michael S. Tsirkin
2013-07-27 23:58               ` Andreas Färber
2013-07-24 16:02 ` [Qemu-devel] [PATCH v3 13/14] hpet: add API to find it Michael S. Tsirkin
2013-07-25 12:36   ` Gerd Hoffmann
2013-07-27 23:38   ` Andreas Färber
2013-07-24 16:02 ` [Qemu-devel] [PATCH v3 14/14] i386: ACPI table generation code from seabios Michael S. Tsirkin
2013-07-25 13:06   ` Gerd Hoffmann
2013-07-25 13:23     ` Michael S. Tsirkin
2013-07-25 14:58       ` Gerd Hoffmann
2013-07-25 15:14         ` Michael S. Tsirkin
2013-07-26  9:06           ` Gerd Hoffmann
2013-07-26 15:30             ` Gerd Hoffmann
2013-07-28  7:00               ` Michael S. Tsirkin
2013-07-25 15:50 ` [Qemu-devel] [PATCH v3 00/14] qemu: generate acpi tables for the guest Andreas Färber
2013-07-25 16:19   ` Michael S. Tsirkin
2013-07-26 12:19     ` Andreas Färber
2013-07-27 23:22       ` Andreas Färber
2013-09-11  9:57         ` Michael S. Tsirkin
2013-07-25 17:18   ` Michael S. Tsirkin
2013-07-26 12:25     ` Andreas Färber
2013-07-29 15:27 ` Anthony Liguori [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87d2q1qtdb.fsf@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.