Hi Alex,


Regarding ARMv8 VM migration , in qemu command we have tried with SMP1  and SMP 2 option  , we are facing same error .

We have applied patch on kernel version 3.16 and used qemu version link shared with you in previous discussion.

I remember that in our previous discussion , you were talking about merging of timer code  and that you needed some hardware for testing. We have ARMv8 hardware. Would it be possible for you to share the testcase procedure to test the timer stuff .

As mentioned and as suggested, we have gone through the following documents and related code :

1.       API .txt  

2.       Qemu code

3.       Kernel KVM related code.


Also, do you have some document related to ARM VM migration internals, or some links that we can refer for our better understanding?





On Mon, Nov 10, 2014 at 8:17 PM, Alex Bennée <alex.bennee@linaro.org> wrote:

Christoffer Dall <christoffer.dall@linaro.org> writes:

> On Mon, Nov 10, 2014 at 1:37 PM, Yash Nandkeolyar <yashnky7@gmail.com> wrote:
>> Hi,
>> We are trying to do VM Migration using the version of Qemu obtained from the
>> following branch:
>> https://github.com/stsquad/qemu/tree/armv8-migration/v4
>> And we are also using Linux Kernel 3.16 compiled with the patches for
>> AArch64 migration support obtained from the following link:
>> http://patches.linaro.org/patchwork/bundle/alex.bennee@linaro.org/armv8-migration/
>> We have tried both online and offline migration. However, we end up getting
>> the following error at runtime during migration:
>> qemu-system-aarch64: Unknown combination of migration flags: 0
>> qemu: warning: error while loading state section id 3
>> qemu-system-aarch64: load of migration failed: Input/output error
>> Could anyone please suggest on this.
> Alex, any quick suggestions?
> However, since this is work-in-progress and these patches haven't
> actually been verified to work yet (we are working through some known
> issues) I'm afraid you're mostly going to have to look into the
> details on your own.

The patches had been smoke tested for non-SMP systems although it's
likely the same breakage (lack of vgic state serialisation) could bite
in the non-SMP case as well.

The generic timer patch has gone upstream. At the moment the only
outstanding patch is the MP_STATE ioctl support. I've re-based that tree
to the current -rc:


> We'll post updated and working patches on the lists as soon as we have
> them.

Currently the QEMU migration/v4 branch is the latest I have. It likely
will need a re-base and hard think about the pstate/cspar re-factor

If the remaining state is exported via the GET/SET_ONE_REG interface
it's pretty transparent to QEMU which just serialises the data. Whether
this makes sense for vgic state remains to be seen.

Finally I have some expect scripts which I'd been using to test
migration which can be found at:


run via LAVA:


> -Christoffer
> _______________________________________________
> linaro-dev mailing list
> linaro-dev@lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/linaro-dev

Alex Bennée

Yash Nandkeolyar