> Plan for unstable: > > (1) Keep surface metadata in device memory, i.e. delay the release of > QXL_SURFACE_CMD_CREATE command until the surface is destroyed. > (2) Keep the most recent QXL_CURSOR_SET command in device memory, i.e. > delay the release until the next one comes in. > (3) qemu/qxl keeps track of the active surfaces and the cursor (the > later is required anyway for local rendering). Because of (1)+(2) > it just needs to maintain pointers to the commands creating them. > > savevm: qxl saves surface+cursor state (no help from libspice needed). > > loadvm: qxl feeds libspice with the commands needed to restore state. > This could be done using either the usual get_command() interface > callbacks or with a new worker->loadvm_commands(cmdlist, count) call.
This sounds good to me, although I haven't really looked much at migration in general. One thing it lacks is a way to extend it in the future, if we get more state that needs preserving in the future. _______________________________________________ Spice-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/spice-devel
