From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MnI00-0004hv-6i for qemu-devel@nongnu.org; Mon, 14 Sep 2009 16:18:08 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MnHzv-0004Uc-F6 for qemu-devel@nongnu.org; Mon, 14 Sep 2009 16:18:07 -0400 Received: from [199.232.76.173] (port=40833 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MnHzv-0004U1-31 for qemu-devel@nongnu.org; Mon, 14 Sep 2009 16:18:03 -0400 Received: from mx1.redhat.com ([209.132.183.28]:10171) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MnHzu-0005l7-IO for qemu-devel@nongnu.org; Mon, 14 Sep 2009 16:18:02 -0400 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n8EKI1RD013383 for ; Mon, 14 Sep 2009 16:18:01 -0400 From: Juan Quintela Date: Mon, 14 Sep 2009 22:15:17 +0200 Message-Id: Subject: [Qemu-devel] [PATCH 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 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 | 14 +++----------- 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, 56 insertions(+), 52 deletions(-)