qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Cc: mst@redhat.com
Subject: [Qemu-devel] [PATCH v2 0/3] Migration-safe ACPI table sizing algorithm
Date: Mon,  6 Oct 2014 16:56:01 +0200	[thread overview]
Message-ID: <1412607364-14141-1-git-send-email-pbonzini@redhat.com> (raw)

In the emergency last-minute patches of QEMU 2.1 we did two things:

- fixed migration problems from 1.7 or 2.0 to 2.1 due to changes in
  ACPI table sizes

- ensured that future versions will not break migration compatibility
  with 2.2 for reasonable configurations (with ACPI tables smaller
  than a hundred kilobytes, roughly)

However, this came at the cost of wasting 128 KB unconditionally on
even the smaller configuration, and we didn't provide a mechanism to
ensure compatibility with larger configurations.

This series provides this mechanism.  As mentioned early, the design
is to consider the SSDT immutable and versioned (together with other
non-AML tables such as HPET, TPMA and MADT, SRAT, MCFG, DMAR).
The DSDT instead can change more or less arbitrarily.  To do this,
we add padding after the DSDT to allow for future growth (patch 1).

Once we do this, the size of the ACPI table fw_cfg "file" is constant
given a machine type and a command-line, so we do not need anymore the
larger 128KB padding (patch 2).

Patch 3 is just cleanups.

Paolo

v1->v2: drop linuxboot changes, instead modify the option ROM
        in a separate patch

Paolo Bonzini (3):
  pc: introduce new ACPI table sizing algorithm
  pc: go back to smaller ACPI tables
  pc: clean up pre-2.1 compatibility code

 hw/i386/acpi-build.c | 20 +++++++++++---------
 hw/i386/pc_piix.c    | 20 +++++++++++++++++++-
 hw/i386/pc_q35.c     |  6 ++++--
 include/hw/i386/pc.h |  2 ++
 4 files changed, 36 insertions(+), 12 deletions(-)

-- 
2.1.0

             reply	other threads:[~2014-10-06 14:56 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-06 14:56 Paolo Bonzini [this message]
2014-10-06 14:56 ` [Qemu-devel] [PATCH v2 1/3] pc: introduce new ACPI table sizing algorithm Paolo Bonzini
2014-10-06 14:56 ` [Qemu-devel] [PATCH v2 2/3] pc: go back to smaller ACPI tables Paolo Bonzini
2014-10-06 14:56 ` [Qemu-devel] [PATCH v2 3/3] pc: clean up pre-2.1 compatibility code Paolo Bonzini
2014-11-11 17:13 ` [Qemu-devel] [PATCH v2 0/3] Migration-safe ACPI table sizing algorithm Paolo Bonzini
2014-11-20  6:05   ` Paolo Bonzini
2014-11-20  6:55     ` Michael S. Tsirkin
2014-11-20  7:11       ` Paolo Bonzini
2014-11-20  7:55         ` Michael S. Tsirkin
2014-11-20 10:04           ` Paolo Bonzini
2014-11-20 11:52             ` Michael S. Tsirkin

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=1412607364-14141-1-git-send-email-pbonzini@redhat.com \
    --to=pbonzini@redhat.com \
    --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 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).