The ACCEPT subfunction reads data that CP has directed to a logical device. It is
invoked after the virtual machine that created the logical device is notified via
external interrupt that output data is to be processed. Upon invocation register
Rx+ 1 must contain the data buffer address and register Ry+ 1 the buffer length. If
the data buffer supplied was too short to contain the data, the subfunction returns
the required buffer size in register Ry and no data is moved. This action can be
overridden by setting an indicator in the length register (bit zero in Ry+ 1 set to 1)
when the subfunction is invoked. In this case, the data is be moved to the short
buffer and a CC=O, RC=2 is sent. The system moves the next portion of the data
on the next ACCEPT. Upon successful completion of subfunction processing, the
data length is returned in Ry, and the data buffer contains the CCW OP code in its
first byte and data in the remaining buffer space. PRESENT: DIAGNOSE CODE X'7C' SUBFUNCTION CODE X'0003'
The PRESENT subfunction passes input data to CP. The location of the data is
described by an address or a complemented address in register Rx+ 1. If the regis­
ter contains an address, it is the address of a data buffer 4096 bytes or less in
length. In this case, register Ry+ 1 contains the length of that data buffer. If regis­
ter Rx + 1 contains a complemented address, it is the address of a list that describes
a data stream occupying multiple data buffers and/or greater than 4096 bytes in
length. In this case, register Ry+ 1 is not used to describe the data length. Howev­
er, in either case, a high-order bit of 1 in register Ry+ 1 indicates that the response
is to a READ BUFFER command. Data format is the same as that produced by a
local display control unit in response to a READ MODIFIED channel command.
If a list is used to describe the data, the list must be in the format:
Length SEGI Address SEGI Length SEG2 Address SEG2 Length SEGn1( Address SEGn *Last entry indicated by a 1 in bit zero of its length field.
The list must start on a fullword boundary. Each entry consists of two full word
fields that describe the length and location of sequential segments of a data stream.
A single entry list may be used to describe a single data buffer greater than 4096
bytes in length. Neither the list nor the data may be modified before transfer of
the data has completed. -An external interrupt signals completion of data transfer.
TERMINATE: DIAGNOSE CODE X'7C' SUBFUNCTION X'0004'
The TERMINATE subfunction notifies CP to drop a specific logical device. If the
logical device is the console of a virtual machine, the virtual machine is placed in FORCE DISCONNECT state. If the logical device is DIALed to a virtual
machine, it is detached from that virtual machine. If an input or output operation is
being processed, it is terminated with a unit check and intervention required.
TERMINATE (ALL): DIAGNOSE CODE X'7C' SUBFUNCTION X'0005' DIAGNOSE Instruction in a Virtual Machine 263
The TERMINATE (all) subfunction notifies CP to terminate all logical devices
created for the issuing virtual machine.
External Interrupt Code X'2402'
Logical Device Restrictions
The logical device support uses a service signal interrupt, (class 24 external inter­
rupt) to notify the virtual machine of a change in status for a specific logical device.
The external interrupt code is X'2402'. This interrupt causes a full word of data to
be stored at location 128 (decimal) in the virtual machine. The interrupt is masked
on and off by bit 22 of control register O. The format of the stored fullword is:
128-129 130 131
logical device address
flag byte
bit zero - PRESENT subfunction purged
bit one -error in transmission or list
interrupt reason code
The logical device address is returned to the user after an INITIATE, and must be
specified by the user for an ACCEPT, PRESENT, or TERMINATE.
Flag byte, bit zero is set to 1 if the data from the last PRESENT has been dis­
carded by the system (subsequent I/O to the logical device was a WRITE instead
of a READ). Flag byte, bit one is set to 1 if an error was encountered in the
address list describing mUltiple buffers of a data stream, or one of the specified
addresses in the list was not accessible. Otherwise, the flag byte remains zero.
The reason codes are: 01 - CP is terminating the connection 02 - A WRITE has been issued, so an ACCEPT must be done. (External
interrupt flag byte, bit zero also indicates whether previous PRESENT data has been discarded.) 03 - A previous PRESENT is now finished (user received CC=2 and RC=2
after a PRESENT).
- A PRESENT has been suspended because of a transmission error. (Ex­
ternal interrupt flag byte, bit one indicates this.) 04 - A READ BUFFER has been issued. 05 - A READ MODIFIED has been issued.
Reason code 1 indicates that the logical device no longer exists. The user receives
a condition code 3 if he attempts to perform another function with this device.
The only devices supported are the local 3277 Model 2, and the local 3278 Models
2,3,4, and 5.
264 VM/SP System Programmer's Guide
Previous Page Next Page