Subcode X'OO 18'
Subcode X'OOI C'
Subcode X'0020'
Subcode X'0024'
Subcode X'OFFE'
Rx = start address of virtual fullpage buffer
Ry = virtual spool reader address
Ry+ 1 = function subcode
The specified device is checked for an active file. If no active file is found, cc=2 is
set. Otherwise, the file is backspaced one record and the record is given to the user
as in subcode X'OOOO'. If the file is already positioned at the first record, the first
record is given to the user.
Rx = virtual address of an SFBLOK buffer
Ry = virtual spool reader address
Ry+ 1 = flag, optional size of SFBLOK in doublewords, and function subcode.
Processing is the same as Subcode X'0008', except that only monitor spool files, as
identified by the SFBMON flag is SFBFLAG2, can be handled.
Rx = start address of virtual fullpage buffer
Ry = virtual spool reader address
Ry+ 1 = function sub code
Processing is the same as Subcode X'OOOO', except that only monitor spool files, as
identified by the SFBMON flag in SFBFLAG2, can be handled.
Rx = start address of virtual fullpage buffer
Ry = virtual spool reader address
Ry+ 1 = function sub code
The specified device is checked for an already active file. If there is one, the last
fullpage buffer is made available to the virtual machine via a call to DMKRPAGT.
If there is no active file, CC=2 is set.
Rx = virtual address of a 252 byte buffer
Ry = code to further determine function
Ry+ 1 = flag, optional size of SFBLOK in doublewords, and function subcode.
If Ry code = 0, the next reader spool file that was not previously seen is selected
and returns data
4
to the user's buffer.
If Ry code is not zero, the bit in the SFBLOK is be reset to indicate that the spool
file was previously selected and data
4
from the first spool file is returned to the
user. CC= 1 is returned if no file is found.
4 The data for the X'OFFE' and X'OFFF' sub codes of the DIAGNOSE X'14' are SFBLOK, 40
bytes of the 3800 data from the first SPUNK (if requested), the first CCW, the following TIC,
and up to 136 bytes of associated data.
DIAGNOSE Instruction in a Virtual Machine 231
Subcode X'OFFF' Subcode X'OFFE' waits for a file being used by a system function. If, however, the
file is not available within the 250 millisecond time limit, a condition code of 3, RC
of 24 is returned. This condition indicates system problems due to performance or
errors in the spooling area.
Rx = virtual address of a 252 byte buffer
Ry = spool file ID number
Ry+ 1 = flag, optional size of SFBLOK in doublewords, and function subcode.
If Ry is nonzero, the spool input chain is searched for a file with a matching ID
number: If none is found or if one is found that is owned by a different virtual
machine, cc=2 is set. The chain search is continued from the file that was found,
or from the anchor if Ry is zero, for the next file owned by the caller, independent
of file type, class, etc. If none is found, cc= 1 is set. If a file is found but it has the INUSE flag on, cc = 3 (rc = 12) is returned. Otherwise, the data
4
is returned to
the user's buffer.
As with subcode X'OFFE', subcode X'OFFF' also waits for a file being used by a
system function. If, however, the file is not available within the 250 millisecond
time limit, a condition code of 3, RC of 24 is returned. This condition indicates
system problems due to performance or errors in the spooling area.
Note: Data chaining may occur when 3800 load CCW's are present in a spool file.
If the data following a 3800 load CCW is more than 4080 bytes long, that data
cannot be contained in one DASD spool file buffer. Instead, the CCW is
data-chained to succeeding DASD buffers until all the data has been entered into
the spool file. If the file contains 3800 load CCW's, either the SFBLDBEG or the SFBLDMID flags are set in the SFBLOK. The amount of SFBLOK data returned is calculated as described under subcode X'0004'. In addition, if bit zero of the subcode register (Ry+ 1) is on, 40 bytes of 3800 data is returned immediately following the SFBLOK and preceding the TAG
data. The data returned is described in the SPLINK DSECT starting at label SPCHAR. DIAGNOSE Code X'18' --Standard DASD I/O Privilege class G
Input/ output operations to a direct access device, of the type used by CMS, can be
performed from a virtual machine using DIAGNOSE Code X'18'. No I/O inter­
rupts are returned by CP to the virtual machine; the DIAGNOSE instruction is
completed only when the READ or WRITE commands associated with the DIAG­ NOSE are completed
5
•
Entry Va/lies: The Rx register contains the virtual device address of the direct
access device. The Ry register contains the address of a chain of CCWs. The user
must load Register 15 with the number of READs or WRITEs in the CCW chain.
The CCW chain must be in a standard format that CP expects when DIAGNOSE Code X'18' is used, as shown below.
5 For non-standard channel programs (more than one consecutive READ or WRITE CCWs
chained together), no extended CCW is transformed if this is directed to a 3380 with the Speed Matching Buffer.
232 VM/SP System Programmer's Guide
Previous Page Next Page