Tile IDENTIFY Protocol
The IDENTIFY protocol defines a means for virtual machines to identify them­
selves to other virtual machines by passing user-defined control information via a
standard VMCF message header. Figure &vmcf4 shows the IDENTIFY protocol
graphically.
When the IDENTIFY subfunction is issued, CP directs an external interrupt to the
sink virtual machine. Along with the external interrupt, the sink virtual machine
receives a standard VMCF message header that contains user-defined information.
The IDENTIFY protocol does not cause a response external interrupt to be
directed to the source virtual machine.
Source
Virtual
Machine CONTROL PROGRAM DMKVMC
VMCF
Interface Sink
Virtual
Machine IDENTIFY->-----> Interrupt > (IDENTIFY Sequence Complete)
Figure 10. The IDENTIFY Protocol
Descriptions of VMCF Subfunctions
The Control Sub/unctions
There are two types of VMCF subfunctions: data transfer and control.
The VMCF control subfunctions allow efficient management of data transfer oper­
ations from your virtual machine console. The control subfunctions are: AUTHORIZE, UNAUTHORIZE, CANCEL, QUIESCE, RESUME, IDENTIFY,
and REJECT. AUTHORIZE: DIAGNOSE Code X'68' Subfunction Code X'OOOO' AUTHORIZE enables VMCF for a virtual machine; once AUTHORIZE has been
executed, the virtual machine can execute other VMCF subfunctions and receive
messages and data from other authorized VMCF virtual machines. It is possible to
specify three options with the AUTHORIZE subfunction: SPECIFIC, PRIORITY, and VMCPSMSG.
The SPECIFIC option authorizes communication with a specific virtual machine.
Any messages sent to the virtual machine from other than the specified virtual
machine will be rejected. The SPECIFIC option can be used in an application
where virtual machines desire to communicate with a master controller but not
The Virtual Machine Communication Facility 91
among themselves. Under the special message facility, CP is authorized with every
virtual machine that is to receive messages sent via the SMSG command. Virtual
machines that are to receive messages must authorize themselves.
The PRIORITY option allows a virtual machine to authorize the receipt of priority
messages. A virtual machine is allowed to send priority messages to another virtual
machine only if the other virtual machine is authorized to receive priority messages.
A priority message is one that is queued ahead of non priority messages and there­
fore accepted first.
When you execute the AUTHORIZE subfunction, you must specify the address
and length of the external interrupt buffer for your virtual machine. The buffer
must be large enough to contain a fixed message header (40 bytes). The message
header identifies messages sent by other virtual machines or responses to messages
you might send to your own virtual machine.
If you are going to accept SENDX-type communications, you must specify the size
of the external interrupt buffer as 40 plus the maximum size of SENDX data that
you plan to accept. This has the effect of authorizing SENDX protocol. That is, a
virtual machine may receive data along with the external interrupt in its external
interrupt buffer. When a virtual machine sends data to another virtual machine via
the SENDX subfunction the data must fit in that virtual machine's external inter­
rupt buffer or the subfunction is rejected. Messages sent via the special message
facility require a buffer length of 169 bytes.
Any AUTHORIZE options in effect can be reset or changed by reexecuting the AUTHORIZE subfunction. If there are errors during execution of the AUTHOR­ IZE subfunction, a virtual machine's authorization status is not changed. UNAUTHORIZE: DIAGNOSE Code X'68' Subfunction Code X'OOOl' UNAUTHORIZE terminates VMCF activity for a virtual machine. The UNAU­ THORIZE subfunction causes any stacked or queued messages associated with the
virtual machine to be purged. A virtual machine should execute the QUIESCE
subfunction before executing UNAUTHORIZE if messages that are already
queued are to be handled. When a virtual machine executing UNAUTHORIZE has pending final response external interrupts, the interrupts are purged. If a virtu­
al machine has pending SEND external interrupts from another source virtual
machine, a RESPONSE interrupt is reflected to the source indicating that the virtu­
al machine is no longer available.
CANCEL: DIAGNOSE Code X'68' Subfunction Code X'0006' CANCEL cancels a message or data transfer pending for but not accepted by
another VMCF virtual machine. A virtual machine can CANCEL messages it orig­
inates with SEND, SENDX, or SEND/RECV subfunctions. A message cannot be
canceled if any of the following conditions exist: The request was SENDX or IDENTIFY and the sink had already received the
SEND external interrupt. The request was SEND and the sink had already executed the RECEIVE or
REJECT subfunctions.
92 VM/SP System Programmer's Guide
The request was SEND /RECV and the sink had already executed the REPLY or REJECT subfunctions.
Previous Page Next Page