Special VMCl !nterrup! Whenever a source virtual machine uses VMCl to correspond with another
virtualmachine (sink), the sink is notified of the pending communication via a special external interrupt (code X'4001'). When
this interrupt is unstacked and processed, a copy of theinformation in
the source'sparameter list is passed to the sink in an external
interrupt buffer. The buffer is defined when a user allows virtualmachine communication. The contents are referred to as the external
interruptmessage header. When certain transactions (SEND, SEBD/RECV, SEBDX) have been completed, a final response external interrupt is passed back to the
source. Themessage header associated with this interrupt contains
residual counts pertaining to the transferred data and data transfer
return codes.
Figure 13 shows the relationship between the variousVMCl control blocks
and data areas.When a virtual machine allows virtual machine communication, VMCl generates a master VMCBLOK and places it at the head
of a queue pointed toby the VMCPBT field of the user's VMBLOK. Tvo fields in this master VMCBLOK define the address (VMCVADA) and length (VMCLENA) of the user's external interrupt buffer. The length must include the maximum size of any potential SEBDX data in addition to the 40 bytes for the external interrupt message header. When a source virtual machine executes a VMCl subfunction, a VMCBLOK is built, initialized with data from the parameter list (VMCPARM), and
stacked on theVMCBLOK queue pointed to by the VMCPBT field in the
sink'sVMBLOK. If an XIBTBLOK for a X'4001' external interrupt has not
already been stacked for the sink machine,DMKVMC builds one and stacks
it on theIINTBLOK queue pointed to by the VMPXIBT field in the sink's VMBLOK. VMCl external interrupts are assigned a sort code of X'71FllllF', giving them the lowest priority in the external interrupt
queue. Each virtual machine clears its ownVMCl control blocks. Special Messages Facility The Special Message lacility allows users to send special messages to a
virtualmachine via the SMSG command. In the Special Message environment, CP acts as a source machine with the receiver of special messages being the sink. This relieves the burden from the issuer of SMSG of having to perform authorization and other setup necessary for
sending messages to the receiving virtualmachine. This is performed by CP. The issuer of SMSG is responsible for sending message text that is
meaningful to the receiving virtual machine. Theformat and handling of
special messages is entirelyup to the receiving machine, which may be
one designedby the installation or prepared by others.
Before the receiving virtual machine can accept special messages, itmust be running with the Special Message flag OB, and it must have
issuedAUTHORIZE (via DIAGNOSE X'68') with CP. The authorization
includes supplying the External Interrupt Buffer address and size. To
ensure receiving the entire message, the receiving virtualmachine 1-40 IBM VM/370 System Logic and Problem Determination--Volume 1
virtual
this interrupt is unstacked and processed, a copy of the
the source's
interrupt buffer. The buffer is defined when a user allows virtual
interrupt
source. The
residual counts pertaining to the transferred data and data transfer
return codes.
Figure 13 shows the relationship between the various
and data areas.
of a queue pointed to
stacked on the
sink's
already been stacked for the sink machine,
it on the
queue. Each virtual machine clears its own
virtual
sending messages to the receiving virtual
meaningful to the receiving virtual machine. The
special messages is entirely
one designed
Before the receiving virtual machine can accept special messages, it
issued
includes supplying the External Interrupt Buffer address and size. To
ensure receiving the entire message, the receiving virtual