Recommended Save Process
A parent partition should use the following procedure to save a partition:
-
Call the HvSetVpRegisters hypercall function to suspend all of the virtual processors within a partition and to modify the explicit suspend register. For more information about virtual processor management, see Hypervisor Virtual Processor Management. Note that virtual processors might already be suspended due to intercepts. All outstanding intercepts should be addressed prior to proceeding.
-
Drain and process all outstanding messages on ports with a connection from the child partition to be saved. If the parent generates messages to be sent back to the child, the parent should be prepared to save any messages that the parent was unable to successfully post. Suspension of the child's virtual processors precludes the child's ability to receive messages and could lead to a lack of message buffer availability on any of the child's ports. The parent might elect to include the drained messages with its saved context for execution after the child partition's restoration (and subsequent resumption) with the child's new parent.
-
Call the HvSavePartitionState hypercall function repeatedly until the partition completes the retrieval of the entire stream of state data. For more information about repeating calls to HvSavePartitionState, see Partition Save and Restore Data Types.
Send comments about this topic to Microsoft
Build date: 11/16/2013