Normally, when DMKCCH returns control to the I/O supervisor, the
error recovery program for the device whichexperienced the error is
scheduled.When the ERP receives control, it prepares to retry the
operation if analysis of theIOERBLOK indicates that retry is possible.
Depending on the device type and error condition, the ERP either effects
recovery ormarks the event fatal and returns control to the I/O supervisor. The I/O supervisor calls the recording routine DftKIOE to
record the channel error.
Theprimary system operator is notified of the failure, and DftKIOE returns control to the system and normal processing continues.
If the channel check is associated with anI/O event initiated by a SIO in a virtual machine, the logout is reflected to the virtual machine in one of two ways, depending upon whether the channel check occurred at SIO time or later in an interrupt. If it occurred at SIO ti.e, then DMKYSI (or occasionally DMKYIO) calls upon DftKCCHRF to reflect the
logout. If it occurred in anI/O interrupt, the dispatcher notices the
channel check as it is reflecting theI/O interrupt to the virtual
machine, and so, at that ti.e,DMKDSP calls upon DftKCCHRF to reflect the
logout.
CHANNELCONTROL SUBROUTINE Control is passed to the channel control subroutine of DftKCCH after a SIO with failing status stored, or an I/O interrupt because of a channel
control check, interface control check, or channel data check.
If "logoutpending" is indicated in the CSW, the CP teraination flag
is set. The existence of real device blocks (RCHBLOK,RCUBLOK, RDEYBLOK), for the failing device address, is determined by a call to DMKSCNRU and an indicator is set if they do exist. An indicator is also
set if theIOBLOK for the failing device address exists. A call to DMKFREE obtains storage space for the channel check record and the
channel control subroutine builds the record. If the indicators show
that the real device blocks and theIOBLOK exist, a call to DftKFREE obtains storage space and the channel control subroutine builds the I/O error block (IOERBLOK); if these blocks do not exist, the IOERBLOK is
not built. TheIOERBLOK is used for two purposes:
1. The device-dependent error recordingprogram (ERP) uses the IOERBLOK to attempt recovery on CP-initiated I/O events. If the I/O events that resulted in a channel check are associated with a
virtualmachine, the I/O fatal flag is set in the IOBLOK and the
virtualmachine is reset, cleared, and put into CP read status.
The length and address of the channel check record is placed in theIOERBLOK and the IOERBLOK is chained off the IOBLOK. 2. DMKIOECC uses the IOERBLOK to record the channel check record on
the error recording cylinder.
The channel control subroutine gives control to a channel-dependent
error analysis routine to build or save the extended channel status word
(ECSW).When the channel control subroutine regains control, eight active addresses are saved in the channel check record.
If the CPtermination flag is set, the I/O extended logout data fro.
the channel check record is restored tomain storage for use by SEREP.
If thesystem operator is both logged on as a user and connected to the system, a message (DMKCCH603W) is sent to him advising hi. of the
channel error.A LPSW is then executed to place the processor in a
disabled wait state with a wait state code of002 in the processor
instruction counter.
1-158IBM VM/370 System Logic and Problem Deteraination--Volume 1
error recovery program for the device which
scheduled.
operation if analysis of the
Depending on the device type and error condition, the ERP either effects
recovery or
record the channel error.
The
If the channel check is associated with an
logout. If it occurred in an
channel check as it is reflecting the
machine, and so, at that ti.e,
logout.
CHANNEL
control check, interface control check, or channel data check.
If "logout
is set. The existence of real device blocks (RCHBLOK,
set if the
channel control subroutine builds the record. If the indicators show
that the real device blocks and the
not built. The
1. The device-dependent error recording
virtual
virtual
The length and address of the channel check record is placed in the
the error recording cylinder.
The channel control subroutine gives control to a channel-dependent
error analysis routine to build or save the extended channel status word
(ECSW).
If the CP
the channel check record is restored to
If the
channel error.
disabled wait state with a wait state code of
instruction counter.
1-158