diff --git a/Virtualization/ch_virtual_io.xml b/Virtualization/ch_virtual_io.xml
index 0964645..c6f6ddb 100644
--- a/Virtualization/ch_virtual_io.xml
+++ b/Virtualization/ch_virtual_io.xml
@@ -2708,6 +2708,38 @@ hcall ( const unit64 H_VIOCTL, /* Query/Set behaviors for the virtual IOA */
+
+
+ 0x1D
+
+
+ ENABLE_PREPARE_FOR_SUSPEND
+
+
+ For all vscsi-server and vfc-server
+
+
+
+
+
+
+
+
+
+ 0x1E
+
+
+ READY_FOR_SUSPEND
+
+
+ For all vscsi-server and vfc-server
+
+
+
+
+
+
+
@@ -4106,6 +4138,91 @@ hcall ( const unit64 H_VIOCTL, /* Query/Set behaviors for the virtual IOA */
+
+
+ ENABLE_PREPARE_FOR_SUSPEND Subfunction Semantics
+
+ This subfunction is used to enable the “Prepare For Suspend”
+ transport event on a VSCSI or VFC server adapter for which this
+ function is called. If enabled and when a client partition is
+ about to be migrated, the “Prepare For Suspend” transport event
+ will be enqueued on the server's command queue, if active.
+ The server should then quiesce all I/O to the backing store and
+ respond when ready by calling the H_VIOCTL READY_FOR_SUSPEND subfunction.
+ This subfunction should be called after each H_REG_CRQ as H_REG_CRQ will
+ disable the support. When enabled, a “Resume” transport event will be
+ enqueued on the server's command queue, if active, when the client
+ partition resumes regardless of whether it successfully suspended.
+
+
+ Parm-1 is an eight byte timeout value in milliseconds. The
+ timeout value specifies the maximum amount of time in milliseconds
+ the Hypervisor should wait after enqueueing the “Prepare for Suspend”
+ transport event on the server's command queue until receiving the
+ H_VIOCTL READY_FOR_SUSPEND subfunction from the server. The
+ time- out value should take into account the maximum amount of
+ time to queisce I/O operations prior to migration of the client
+ partition.
+
+
+ Validate that the unit-address corresponds to a VSCSI or VFC
+ server adapter, else return H_Parameter.
+
+
+ Validate parm-1 is less than or equal to 30,000 milliseconds,
+ else return H_Parameter.
+
+
+ Validate parm-2, and parm-3 are set to zero, else return H_Parameter.
+
+
+ Verify the server adapter is not configured for “Any client can connect”,
+ else return H_Constrained
+
+
+ If this Subfunction parameter value not supported by Hypervisor,
+ return H_Not_Found.
+
+
+ If “Prepare For Suspend” is successfully enabled, H_Success will
+ be returned and an opaque Hypervisor version placed in R4
+
+
+
+
+
+
+ READY_FOR_SUSPEND Subfunction Semantics
+
+ This subfunction is used to respond to the “Prepare For Suspend” transport
+ event on a VSCSI or VFC server adapter for which this function is called. If
+ enabled via the H_VIOCTL ENABLE_PREPARE_FOR_SUSPEND subfunction, the server
+ should call this H_VIOCTL READY_FOR_SUSPEND subfunction after receiving the
+ “Prepare For Sus- pend” transport event and quiescing I/O operations to the
+ backing store. If the server is unable to call this subfunction within the
+ timeout specified in the H_VIOCTL ENABLE_PREPARE_FOR_SUSPEND subfunction,
+ the migration op- eration on the client partition will be aborted.
+
+
+ Validate that the unit-address corresponds to a VSCSI or VFC
+ server adapter, else return H_Parameter.
+
+
+ Validate parm-1, parm-2, and parm-3 are set to zero, else
+ return H_Parameter.
+
+
+ Validate that the server has previously called the H_VIOCTL
+ ENABLE_PREPARE_FOR_SUSPEND subfunction after the most recent
+ H_REG_CRQ, else return H_Constrained.
+
+
+ If this Subfunction parameter value not supported by Hypervisor,
+ return H_Not_Found.
+
+
+
+
@@ -4463,7 +4580,33 @@ hcall ( const unit64 H_VIOCTL, /* Query/Set behaviors for the virtual IOA */
- 0x07 - 0xFF
+ 0x07 - 0x08
+
+
+ Reserved
+
+
+
+
+ 0x09
+
+
+ Prepare for Client Adapter Suspend
+ See
+
+
+
+
+ 0x0A
+
+
+ Client Adapter Resume
+ See
+
+
+
+
+ 0x0B - 0xFF
Reserved