Hello Marcelo, Am 21.03.2017 um 00:20 schrieb Marcelo Tosatti: > On Mon, Mar 20, 2017 at 01:02:10PM +0100, Philipp Hahn wrote: >> Hello Marcelo, cc:qemu, >> >> Sorry for re-using this old thread, but I have a problem loading some >> saved state from qemu-kvm-1.1.2, which fails for piix4_pm. >> >> You following patch was committed as >> <http://git.qemu-project.org/?p=qemu.git;a=commitdiff;h=b0b873a07872f7ab7f66f259c73fb9dd42aa66a9>: >> >> Am 15.11.2012 um 01:11 schrieb Marcelo Tosatti: >>> Migrate 16 bytes for en/sts fields (which is the correct size), >>> increase version to 3, and document how to support incoming >>> migration from qemu-kvm 1.2. >> >> I my case qemu-kvm-1.1.2/hw/acpi_piix4.c:284 >> | VMSTATE_STRUCT(ar.gpe, PIIX4PMState, 2, vmstate_gpe, ACPIGPE), >> only saves 4 bytes, not 16 bytes. > > IIRC qemu-1.1.2 saved 16 bytes, which is the correct size, not 4 bytes. I found 23910d3f669d46073b403876e30a7314599633af in qemu, which changed "gpe" to be an array[4] instead of single "struct gpe_regs" without changing the version number. So the incompatibility was introduced there. > So while merging from qemu-kvm -> qemu, it was decided to maintain > backwards compability with qemu, and not qemu-kvm. > > Is there any way to differentiate between the two (qemu vs qemu-kvm, > perhaps via some other field not in the VMState of ACPI PIIX4), so > your patch can be integrated upstream? I had a look and haven't found any reliable indicator to distinguish between "qemu" and "qemu-kvm" yet. I'll have another look if my time permits, but as I know "qemu-kvm" was used in my case, I will hard code that knowledge for now in my private build. Thank you four sharing your knowledge. Philipp