Add H_VIOCTL subfunctions for virtual scsi and FC mobility preparation functionality

Signed-off-by: Jeff Scheel<scheel@us.ibm.com>
pull/1/head
Jeff Scheel 5 years ago
parent 07aa8c5f1f
commit 48c698d287

@ -2708,6 +2708,38 @@ hcall ( const unit64 H_VIOCTL, /* Query/Set behaviors for the virtual IOA */
</para>
</entry>
</row>
<row>
<entry>
<para>0x1D</para>
</entry>
<entry>
<para>ENABLE_PREPARE_FOR<?linebreak?>_SUSPEND</para>
</entry>
<entry>
<para>For all vscsi-server and vfc-server</para>
</entry>
<entry>
<para>
<xref linkend="sec_enable_prepare_for_suspend" />
</para>
</entry>
</row>
<row>
<entry>
<para>0x1E</para>
</entry>
<entry>
<para>READY_FOR_SUSPEND</para>
</entry>
<entry>
<para>For all vscsi-server and vfc-server</para>
</entry>
<entry>
<para>
<xref linkend="sec_ready_for_suspend" />
</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
@ -4106,6 +4138,91 @@ hcall ( const unit64 H_VIOCTL, /* Query/Set behaviors for the virtual IOA */
</listitem>
</itemizedlist>
</section>

<section xml:id="sec_enable_prepare_for_suspend">
<title>ENABLE_PREPARE_FOR_SUSPEND Subfunction Semantics</title>

<para>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.
<itemizedlist>
<listitem>
<para>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.</para>
</listitem>
<listitem>
<para>Validate that the unit-address corresponds to a VSCSI or VFC
server adapter, else return H_Parameter.</para>
</listitem>
<listitem>
<para>Validate parm-1 is less than or equal to 30,000 milliseconds,
else return H_Parameter.</para>
</listitem>
<listitem>
<para>Validate parm-2, and parm-3 are set to zero, else return H_Parameter.</para>
</listitem>
<listitem>
<para>Verify the server adapter is not configured for “Any client can connect”,
else return H_Constrained</para>
</listitem>
<listitem>
<para>If this Subfunction parameter value not supported by Hypervisor,
return H_Not_Found.</para>
</listitem>
<listitem>
<para>If “Prepare For Suspend” is successfully enabled, H_Success will
be returned and an opaque Hypervisor version placed in R4</para>
</listitem>
</itemizedlist>
</para>
</section>

<section xml:id="sec_ready_for_suspend">
<title>READY_FOR_SUSPEND Subfunction Semantics</title>

<para>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.
<itemizedlist>
<listitem>
<para>Validate that the unit-address corresponds to a VSCSI or VFC
server adapter, else return H_Parameter.</para>
</listitem>
<listitem>
<para>Validate parm-1, parm-2, and parm-3 are set to zero, else
return H_Parameter.</para>
</listitem>
<listitem>
<para>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.</para>
</listitem>
<listitem>
<para>If this Subfunction parameter value not supported by Hypervisor,
return H_Not_Found.</para>
</listitem>
</itemizedlist>
</para>
</section>
</section>
</section>

@ -4463,7 +4580,33 @@ hcall ( const unit64 H_VIOCTL, /* Query/Set behaviors for the virtual IOA */
</row>
<row>
<entry>
<para>0x07 - 0xFF</para>
<para>0x07 - 0x08</para>
</entry>
<entry>
<para>Reserved</para>
</entry>
</row>
<row>
<entry>
<para>0x09</para>
</entry>
<entry>
<para>Prepare for Client Adapter Suspend<?linebreak?>
See <xref linkend="sec_enable_prepare_for_suspend"/></para>
</entry>
</row>
<row>
<entry>
<para>0x0A</para>
</entry>
<entry>
<para>Client Adapter Resume<?linebreak?>
See <xref linkend="sec_ready_for_suspend"/></para>
</entry>
</row>
<row>
<entry>
<para>0x0B - 0xFF</para>
</entry>
<entry>
<para>Reserved</para>

Loading…
Cancel
Save