R15= 11 The value in R15, at entry, was not a positive number from 1
through 15, or was not large enough for the given CCW string.
R15= 12 Cylinder number on seek head was not the same number as on
the first seek.
cc=3 Uncorrectable I/O error:
R15= 13 CSW (8 bytes) returned to user Sense bytes are available if the
user issues a SENSE command.
Note: This code does not support fixed-block DASD devices. If a program issues a DIAGNOSE Code X' 18' to a fixed-block DASD device, CP sets cc= 1 and places a
return code of 2 in register 15. DIAGNOSE Code X'l C' --Clear Error Recording Cylinders
Privilege class F
Execution of DIAGNOSE Code X' 1 C' allows a user to clear the error recording
data on disk. The DMKIOEFM routine performs the clear operation.
Entry Values: The register specified as Rx contains a one-byte code value in the
low-order byte as follows:
Code Function X'Ol' Clear and reformat all error recording, leaving any frame records intact X'02' Clear and reformat all error recording cylinders, erasing both frame
records and error records DIAGNOSE Code X'20' --General I/O I Privilege class G
With DIAGNOSE Code X'20', a virtual machine user can specify any valid CCW
chain to be performed on a tape, disk (including FBA) or unit record device. (An
exception: DIAGNOSE must not be used to read or write
record-overflow-formatted data on DASD devices.) No I/O interrupts are
reflected to the virtual machine; the DIAGNOSE instruction is completed only
when all I/O commands in the specified CCW chain are finished.
Entry Values: The register specified as Rx contains the virtual device address. The
Ry register contains the address of the CCW chain, and CP uses the high-order
byte of the register as a storage key for accessing the user's virtual storage.
The CCWs are processed via DMKCCWTR through DMKGIOEX, providing full
virtual I/O in a synchronous fashion (self-modifying CCWs are not permitted,
however) to any virtual machine specified. Control returns to the virtual machine
only after completion of the operation or detection of a fatal error condition. EREP support is provided for tape and DASD devices only; all other devices presĀ­
ent an error condition in the PSW to the virtual user. Condition codes and error
codes are returned to the virtual system. DIAGNOSE Instruction in a Virtual Machine 235
Completion and Condition Codes: The condition codes and error codes returned are
as follows: cc=O I/O completed with no errors
cc= 1 Error condition. Register 15 contains the following:
R 15 = 1 Device is either not attached or the virtual channel is dedicated.
R 15 = 5 Virtual device is busy or has an interrupt pending.
R15=6 Device halted; I/O mayor may not have completed.
cc=2 Exception conditions. Register 15 contains one of the following:
R15=2 Unit exception bit in device status byte= 1
R15=3 Wrong length record detected.
cc= 3 Error Condition:
R15= 13 A permanent I/O error occurred or an unsupported device was
specified. The user's Ry register contains four sense bytes. Sense bytes 2 and 3 are in the two leftmost positions in the Ry
register; sense byte 0 and 1 are in the two rightmost positions in
the Ry register.
Ry Register Sense Byte
2 Sense Byte
3 DIAGNOSE Code X'24' --Device Type and Features I Privilege class G Sense Byte
o Sense Byte
1 DIAGNOSE Code X'24' requests CP to provide a virtual machine with identifying
information and status information about a specified virtual device. The virtual
machine must specify the virtual device for which information is requested. CP returns information about the virtual device and associated real device in the Rx,
Ry, and Ry+ 1 registers. CP also provides a condition code identifying the specific
device information returned to the virtual machine.
Entry Values: When a virtual machine issues DIAGNOSE Code X'24', the Rx regĀ­
ister must contain the virtual device address for which information is requested or
the value negative 1 (-1). Specify -1 when the device is a virtual console whose
address is unknown to the virtual machine.
Exit Values: When CP returns control to the virtual machine, the Ry, Ry+ 1, and
Rx registers contain device information. The Ry register contains information
about the virtual device and the Ry+ 1 register information about the real device.
If -1 was specified and CP located the virtual console, the Rx register contains
information about the virtual console.
236 VM/SP System Programmer's Guide
Previous Page Next Page