From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33125) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X9zYJ-0003MR-RF for qemu-devel@nongnu.org; Wed, 23 Jul 2014 12:38:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X9zYC-0006Xi-34 for qemu-devel@nongnu.org; Wed, 23 Jul 2014 12:38:03 -0400 Received: from mx1.redhat.com ([209.132.183.28]:58448) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X9zYB-0006XJ-RV for qemu-devel@nongnu.org; Wed, 23 Jul 2014 12:37:56 -0400 From: Paolo Bonzini Date: Wed, 23 Jul 2014 18:37:44 +0200 Message-Id: <1406133466-1824-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH 0/2] pc: fix /etc/acpi/tables size in fw_cfg for -M pc-2.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, mst@redhat.com, dgilbert@redhat.com, amit.shah@redhat.com, imammedo@redhat.com, lersek@redhat.com Changing the ACPI table size causes migration to break, and the memory hotplug work opened our eyes on how horribly we were breaking things in 2.0 already. Unfortunately when reviewing the design I assumed incorrectly that all tables would be placed in separate fw_cfg files. This would have been better, because you can always move stuff to a new SSDT (and thus a new file), keeping the sizes under control. Hard-code 64k as the maximum ACPI table size; for -M pc-i440fx-2.0 and -M pc-i440fx-1.7 compute the payload size of QEMU 2.0 and always use that one. This works always for QEMU 2.0, and also for 1.7 except for a few values of "-smp maxcpus". The first patch is needed to shrink the ACPI tables and make them smaller than they used to be in 2.0. Please test and ack. I'll do more testing tomorrow. Paolo Paolo Bonzini (2): acpi-dsdt: procedurally generate _PRT pc: hack for migration compatibility from QEMU 2.0 hw/i386/acpi-build.c | 61 +++++++++++++++++++++++++++++++--- hw/i386/acpi-dsdt.dsl | 90 ++++++++++++++++++++++----------------------------- hw/i386/pc_piix.c | 20 ++++++++++++ hw/i386/pc_q35.c | 5 +++ include/hw/i386/pc.h | 1 + 5 files changed, 122 insertions(+), 55 deletions(-) -- 1.8.3.1