On 14 March 2012 19:38, Michael Roth <mdr...@linux.vnet.ibm.com> wrote: > On Wed, Mar 14, 2012 at 10:09:09PM +0300, Alexey Starikovskiy wrote: >> Do I need to do anything beside following or not? > > Not sure, ARM folks? > > My suggestion would be to lose the the catch-all -EINVAL error we > throw in machine.c:cpu_load() when version_id != CPU_SAVE_VERSION > and only conditionally load 64-bit registers if the source's > version_id >= CPU_SAVE_VERSION. But we've never done that in the > past, and we broke old->new as recently as 2 months ago so I'm not > sure it's worth it since there hasn't been a release since then.
My position at the moment is that old->new migration on ARM is not supported and further that we make no attempt to avoid version bumps. At some point as KVM-on-ARM gets towards being complete we'll have to start worrying about compatibility, but at the moment I really don't think that either (a) all the devices have tested and working migration state or (b) we have a CPUState that's actually in good enough shape[*] that we can reasonably start to insist on not breaking cross-version migration. So migration-wise I have no problem with the patch as it stands. (I have other issues with it I suspect but haven't got to reviewing it yet.) [*] as an example of the kind of problem I'd like to see a solution for, there's no reason that adding support for a new feature like LPAE should require the migration state for non-LPAE CPUs to change, but as things stand it does. -- PMM