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
Paqe of GC20-1807-7 As Updated April 1, 1981 by TNL GN25-0829 V*2 (VMCMEFLG) VM CMFUNC VMCMMID VMCMUSER VMCMVADA VMCMLENA VMCMVADB VMCMLENB VMCMUSE VMCMBUF Contains a data transfer error code indicating success or
errors associated with a data transfer operation. (Refer
to the section "Data Transfer Error Codes. ") contains the subfunction code of the original request.
The sink virtual machine will use this field to determine
the type of request. The possible subfunction codes are: VMCPSEND VMCPSENR VMCPSENX VMCPIDEN X' 000 2' -SEND X'0003' - SEND/RECV X'0004' - SENDX X'OOOA' - IDENTIFY contains the message ID associated with the original
source request.
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.
Contains the address of the original SEND data for SEND
requests. This field would normally have no meaning to
the sink virtual machine.
Indicates the length of SEND data for
interrupts. It indicates a data transfer
for RESPONSE external interrUpts. SEND externa I residual count
Contains the virtual address of the REPLY buffer for SEND/RECV requests. This field has no meaning to the sink
virtual machine.
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 virtual machine
uses this field to determine the length of the sink
virtual machine REPLY data.
contains the
sink virtual
the source
interrupts.
contains the
command.
user doubleword, which is transmitted to the
machine with SEND external interrupts and to
virtual machine with RESPONSE external
If a SMSG command was issued, this field
user doubleword of the issuer of that
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 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 request
(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 transmitted within the external interrupt message header
for both SEND and RESPONSE type external interrupts.
166 IBM VM/370 System Programmer's Guide
Previous Page Next Page