From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MnKhi-0006ic-4Q for qemu-devel@nongnu.org; Mon, 14 Sep 2009 19:11:26 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MnKhd-0006hr-QG for qemu-devel@nongnu.org; Mon, 14 Sep 2009 19:11:25 -0400 Received: from [199.232.76.173] (port=58052 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MnKhd-0006ho-Lh for qemu-devel@nongnu.org; Mon, 14 Sep 2009 19:11:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:25539) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MnKhd-00078x-2s for qemu-devel@nongnu.org; Mon, 14 Sep 2009 19:11:21 -0400 Received: from int-mx08.intmail.prod.int.phx2.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n8ENBIAW027787 for ; Mon, 14 Sep 2009 19:11:19 -0400 From: Juan Quintela Date: Tue, 15 Sep 2009 01:08:34 +0200 Message-Id: Subject: [Qemu-devel] [PATCH v2 0/4] Fix VMState design flaws List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Hi v2: - fix old_version field for ps2 keyboard (thanks paolo) v1: I know you are not going to believe it, but VMState design have flaws: (everybody) Ooohhhhhhh!!!! This patches fixes (some) of them: * When we added .pre_save() and .post_save(), we have it basically to change values in the variable pointed by the "void *opaque". Without this functions, it made sense that this variables were const, with them, it means that we have to do FooState *s = (void *)opaque in every pre/post_save() function. Just remove the const. * Add version_id field to post_load(). Now we can assign default values in post_load for old versions of the state (ps2_kbd as example). This one is also needed for ioapic in qemu-kvm. * Add support for sending partial struct arrays (i.e. only some fields starting from the beggining) fdc cleanups for getting pc98 in need it. That is all for now :) Later, Juan. Juan Quintela (4): vmstate: remove const for put operations vmstate: add version_id argument to post_load vmstate: remove ps2_kbd_load_old() vmstate: Add support for sending partial arrays exec.c | 2 +- hw/acpi.c | 2 +- hw/cirrus_vga.c | 2 +- hw/dma.c | 2 +- hw/fdc.c | 2 +- hw/hpet.c | 2 +- hw/hw.h | 18 +++++++++++++++--- hw/pci.c | 2 +- hw/piix_pci.c | 2 +- hw/ps2.c | 16 ++++------------ hw/ptimer.c | 4 ++-- hw/serial.c | 2 +- hw/slavio_intctl.c | 2 +- hw/tcx.c | 2 +- hw/vmmouse.c | 2 +- savevm.c | 48 ++++++++++++++++++++++++------------------------ 16 files changed, 57 insertions(+), 53 deletions(-)