Page of GC20-1807-7 As Updated April 1, 1981 by TNL GN25-0829 r I VMCF I I I Subfunction I Applicable VMCPARM Fields I Return Codes I ,CANCEL I VMCPFUNC - X'0006' - subfunction code , 0,2,3,4,5,11, I , VMCPMID - message identifier I 12,14,15,20 I I VMCPUSER - sink userid , 1-'---- , , ,REPLY VKCPFUNC - X'0007' - subfunction code 0,1,2,3,4,5,6, I I VMCPMID - message identifier 12,13,15,16,17,19 I I VMCPUSER - source userid , I VMCPVADA - REPLY data address I I VMCPLENA - REPLY data length , I VMCPUSE - user doubleword I , , IQUIESCE VMCPFUNC - X'0008' - subfunction code 0,2,4,15 t I I I ,RESUKE VMCPFUNC - X'0009' - subfunction code 0,2,4,15 I I I IIDENTIFY VKCPFLG1 - PRIORITY option 0,2,4,5,9,10 I , VKCPFUNC - X'OOOA' - subfunction code 15,18 I , VKCPUSER - sink userid I I VKCPUSE - user doublevord I , I , (See Note) I I ,REJECT VMCPFUNC - X'OOOB' - subfunction code 0,2,3,4,12,13,15 I I VKCPMID - message identifier t , VMCPUSER - source userid I I VMCPUSE - user doublevord I I I I I Note: Fields within the user parameter list that are not used by a I I particular subfunction may be used to contain additional user data. I I The data, however, can only be passed to the sink virtual machine by I I the source virtual machine. The REPLY buffer address and length I I fields (VMCPVADB+VMCPLENB) may be used to transmit additional user I , data for SEND and SENDX requests. All fields except VMCPFLG1, I ,VMCPFLG2, VMCPFUNC, and VKCPUSER may be used to pass control I I information with an IDENTIFY request. I , I Figure 19. VKCF Subfunctions, Parameters, and Return Codes (Part 2 of 2) EXTERNAL INTERRUPT CODE X'4001' External interrupt code X'4001' is a special interrupt code recognized by CP as part of a VMCF transaction. Just as virtual machines use the DIAGNOSE instruction to communicate with CP, so too CP uses this
interrupt code to communicate with virtual machines. External interrupt
code X'4001' and DIAGNOSE code X'68' provide the mechanism VMCF uses to
synchronize message processing. 164 IBM VM/370 System programmer's Guide
Page of GC20-1807-7 As Updated April 1, 1981 by TNL GN25-0829 Associated with external interrupt code X'4001' is a storage area
referred to as the external interrupt message Thp external interrupt message header (VMCMHDR) contains the control information
required to SEND and RECEIVE messages. The fields within the message
header are, for the most part, a copy of VMCPARM parameter list fields.
CP passes the external interrupt buffer (containing
interrupt message header) to the user's interrupt
processinq. The user must specify the address and length
when he executes the AUTHORIZE subfunction. Then, when
or receives messages, CP knows the address of the buffer
to the appropriate interrupt handler routine.
the external
handler for
of this buffer
the user sends
and passes it
Fields VMCMFUNC through VMCMUSE correspond to the fields VKCPFUNC through VMCPUSE in the VMCPARM parameter list transmitted by the source
virtual machine. The format of the message header and optional SENDX data buffer is: 0 8 10 18 20 28 V* 1 (VMCMSTAT) .-- I V*1 I I I , I I I I I I I V*2 I VMCMFUNC VMCMMID VMCMUSER VMCMVADA VMCMLENA VMCMVADB VMCMLEN B VMCMUSE VMCMBUF Optional Message Buffer L- ____________________________________________ __
is a status byte associated with the message header. The
bits within the status byte are defined as follows: . Vl'!CMRESP (X'80') Indicates final external interrupt (transaction
complete). This bit will be set for all RESPONSE external interrupts and the SEND external interrupt
resultinq from an IDENTIFY request. VMCMRJCT (X'40') This bit is set in a RESPONSE external interrupt to
indicate that the sink virtual machine reiected the
messaqe via the REJECT subfunction. VMCMPRTY (X'20') This bit is -set in both SEND ami RESP-o-NSE external interrupts to indicate a priority message. A virtual
machine must be authorized for priority messages before
it can receive them.
Part 2. Control Program (CP) 165
Previous Page Next Page