RESUME cancels the QUIESCE status, allowing your virtual machine to
resume reception of YMCF requests from other virtual machines. You can
use the IDENTIFY subfunction to inform other virtual machines that your
virtual machine is no longer in QUIESCE status. (see "IDENTIFY: DIAGNOSE Code X'68' Subfunction Code X'OOOA'"). IDENTIFY notifies another virtual machine that your virtual machine is
available for YMCF communication. Use the IDENTIFY subfunction after
issuing the AUTHORIZE subfunction or after your virtual machine has been
in the VMCF QUIESCE state and you have issued the RESUME subfunction. IDENTIFY causes an external interrupt to be stacked for a specified
virtual machine. The virtual machine executing the IDENTIFY subfuncticn
specifies the userid of the user to receive the external interrupt.. The
external interrupt identifies the virtual machine executing the IDENTIFY subfunction. The IDENTIFY subfunction is provided to inform a host or
controller virtual machine that a virtual machine is activated (logged
on) and ready for VMCF communication. The IDENTIFY subfunction can also
be used to inform other virtual machines that ycur virtual machine has
exited QUIESCE state. There is no response external interrupt
associated with the IDENTIFY subfunction.
The IDENTIFY subfunction can also be used to pass virtual machine
defined control information. The fields in the VMCF parameter list (VMCPARM) not used by the IDENTIFY subfunction may be used to contain
additional virtual machine data.
REJECT selectively rejects pending SEND or SEND/RECV requests from other VMCF virtual machines. REJECT causes a response external interrupt to
be reflected to the originator of a message. The external interrupt
indicates to the originator that the message was rejected. The user
doubleword within the external interrupt header may tell a user why the
message was rejected. When the user of a virtual machine executes the
REJECT subfunction, he specifies within the YMCF parameter list (YMCPARM) the message ID of the message to be rejected. A virtual machine cannot reject a message sent with the SENDX subfunction since
the message is received at the same time the external interrupt is
received. The REJECT subfunction can be executed as response to either SEND or SEND/RECY requests.
THE DATA TRANSFER FUNCTIONS The data transfer operations are SEND, SEND/REeV, SENDX, RECEIVE, and REPLY. These operations involve the movement of data from one virtual
machine storage to another virtual machine storage. Part 2. Control program (CP) 155
SEND directs a message or block of data to another virtual machine. Specify the virtual address and length of data to be sent within the
user parameter list (VMCPARM). Also, specify in the parameter list a
message ID to be associated with the message and the userid of the user
to receive the message (data). You can also send a doubleword of data
to be transmitted within the external interrupt message header (refer to
the section "VMCF User Doubleword"). If the SEND subfunction is
executed with a data length of zero, only the user doubleword is
transmitted to the sink virtual machine. The sink virtual machine can
then respond with a RECEIVE sub function (zero length) and pass back a
doubleword of data to the source virtual machine. The external
interrupt message header identifies the SEND request. When the sink
virtual machine executes a RECEIVE subfunction, the message is
transmitted from the source virtual machine storage to the sink virtual
storage. There is no internal buffering of data within the control
program {CPl. All data is transferred in 2K blocks from virtual storage
to virtual storage. Data is transferred in 2K blocks to test for STORE/FETCH protection violations. When the data transfer subfunction
is complete, the source virtual machine receives a response external
interrupt indicating that the SEND request is complete. The sink
virtual machine receives a DIAGNOSE X'68' return code indicating that
the RECEIVE subfunction is complete. The return code can indicate error
conditions associated with the RECEIVE function or normal completion.
The sink virtual machine has the option to reject a message rather
than execute the RECEIVE subfunction (see "REJECT: DIAGNOSE Code X'68' Subfunction Code X'0011'"). The source virtual machine may cancel a SEND request before the sink virtual machine has executed a RECEIVE subfunction or REJECT function (see "CANCEL: DIAGNOSE Code X'68' Subfunction Code X'0006'"). If you are executing the SEND subfunction, you may specify the PRIORITY option. The PRIORITY option causes the external interrupt for
the sink virtual machine to be queued ahead of all other nonpriority
external interrupts. If there are other PRIORITY external interrupts
pending for the sink virtual machine, the queuing is done in a first in
first out manner. That is, PRIORITY interrupts are queued FIFO among
themselves but ahead of all nonpriority interrupts. SEND/RECV provides the capability to both send and receive data in a
single VMCF transaction. The SEND/RECV subfunction causes an external
interrupt to be queued for the sink virtual machine. When the sink
virtual machine receives the external interrupt, it can respond with the RECEIVE subfunction. The RECEIVE subfunction causes data to be
transferred from the source virtual storage to sink virtual storage.
The sink virtual machine can then respond with a REPLY subfunction. The REPLY subfunction causes data to be transferred from specified sink
virtual storage to a REPLY buffer in the source virtual The
source virtual machine then receives a response external interrupt
indicating that the SEND/RECV request is complete. When the source virtual machine executes the SEND/RECV function it
specifies the address and length of both the SEND buffer and REPLY buffer. The address and length specifications are contained within the
user parameter list (VMCPARM). The user parameter list also contains a
message ID and userid of the user to receive the data (see the "VMCPABM Parameter List").
156 IBM VM/310 System Programmer's Guide
Previous Page Next Page