V*2 VMCMPRTY (X'20') This bit is set in both SEND and RESPONSE external interrupts
to indicate a priority message. A virtual machine must be author­
ized for priority messages before it can receive them.
(VMCMEFLG)
Contains a data transfer error code indicating success or errors associ­
ated with a data transfer operation. (Refer to the section "Data Trans­
fer Error Codes".) VMCMFUNC
Contains the subfunction code of the original request. The sink virtual
machine uses this field to determine the type of request. The possible
subfunction codes are: VMCPSEND X'0002' - SEND VMCPSENR X'0003' - SEND/RECV VMCPSENX X'0004' - SENDX VMCPIDEN X'OOOA' - IDENTIFY
VMCMMID
Contains the message ID associated with the original source request. VMCMUSER Contains the userid of the source virtual machine for SEND external
interrupts and the userid of the sink virtual machine for RESPONSE external interrupts. If a SMSG command was issued, "SYSTEM" appears in this field.
VMCMVADA
Contains the address of the original SEND data for SEND requests.
This field would normally have no meaning to the sink virtual
machine.
VMCMLENA
Indicates the length of SEND data for SEND external interrupts. It
indicates a data transfer residual count for RESPONSE external inter­
rupts.
VMCMVADB
Contains the virtual address of the REPLY buffer for SEND /RECV
requests. This field has no meaning to the sink virtual machine.
VMCMLENB VMCMUSE Contains the length of the source virtual machine REPLY buffer for SEND /RECV external interrupts; contains the residual REPLY count
for RESPONSE external interrupts. The sink virtual machine uses this
field to determine the maximum length of the REPLY; the source vir­
tual machine uses this field to determine the length of the sink virtual
machine REPLY data.
Contains the user doubleword, which is transmitted to the sink virtual
machine with SEND external interrupts and to the source virtual
The Virtual Machine Communication Facility 105
VrvfCMBUF machine with RESPONSE external interrupts. If a SMSG command
was issued, this field contains the virtual machine identifier of the
issuer of that command.
This is the optional data buffer used by the SENDX subfunction. The
data sent with the SENDX subfunction is moved into this buffer. The
buffer size is specified when a virtual machine executes the VMCF AUTHORIZE subfunction.
VMCF User Doubleword
VMCF provides a doubleword for user data that can be transmitted within the
external interrupt message header. A user supplies the doubleword of data within
the parameter list (VMCPARM) for certain VMCF requests (that is, SEND,
SENDX, SEND/RECV, RECEIVE, REPLY, IDENTIFY, and REJECT). You
can use the user doubleword in any manner you desire. The doubleword is trans­
mitted within the external interrupt message header for both SEND and
RESPONSE type external interrupts.
The user doubleword can be used for control information in a user-defined higher
level protocol. That is, you could have your own message headers defined within
the data transmitted from one virtual machine to another. The user doubleword
could be used to control such a protocol.
The user doubleword can also be used as a security code or provide additional
information for subfunctions such as IDENTIFY and REJECT. You can specify a
zero data length for any VMCF transaction. The effect of this is that only the
external interrupt message header with user doubleword is transmitted or received.
DIAGNOSE X'68 , Return Codes
Return
Code 0 The virtual machine initiating a VMCF request receives a return code in the gener­
al register specified as "Ry" in the DIAGNOSE instruction. The return code indi­
cates successful completion of the request or error conditions associated with the
request. Figure 12 is a description of all possible return codes returned to a virtual
machine executing the DIAGNOSE X'68' subfunction.
Meaning
The normal response. Indicates successful completion of a request or successful
initiation of a request. For example, for an AUTHORIZE request, 0 indicates that
the AUTHORIZE function is complete; for a SEND request, 0 indicates that the
SEND was successfully initiated. The SEND request, of course, would not be
complete until the final RESPONSE external interrupt was received by the source
virtual machine.
Figure 12 (Part 1 of 3). DIAGNOSE Code X'68' Return Codes
106 VM/SP System Programmer's Guide
Previous Page Next Page