If the CP termination flag is not set, a check is made to determine
if an IOERBLOK was built by the channel control subroutine.
If an IOERBLOK was not built, DMKIOECC is called to record the
channel check record on the error recording cylinder. The system operator is then sent a message (DMKCCH6011 or DeKCCH602I) informing hi. of the error and control is then returned to DMKIOS to continue system operation.
If an IOERBLOK was built, control is returned to DMKIOS, which calls
the appropriate ERP. Whether or not recovery is successful, DMKIOS eventually calls DMKIOE to record the channel check record. DMKIOE examines the status of the in CSW error in the IOERBLOK to determine if
it was a channel error; if so, it finds the length and pointer to the
channel check record and records the error on the error recording
cylinder. If this was not a channel error, DMKIOE continues normal
processing. INDIVIDUAL ROUTINES A separate channel error analysis routine is provided for each type of
channel for which DMKCCH can be used. The purpose of these routines and
the channel control subroutine is to analyze the channel logout to
determine the extent of damage and to create a sequence and termination
code to be placed in the ECSW in the IOERBLOK. At system
initialization, the correct model dependent channel recovery routine is
loaded and the storage necessary to support the routine is allocated.
The model-dependent error analysis subroutines and routines and their
functions are as follows:
Since all
subroutine
subroutine:
of
is
these systems
used to handle
have
all
integrated channels one
of these processor types.
common
This Indicates CP termination if the ECSW is not complete, the channel has
been reset, the reset codes are invalid, or the I/O interface is
inoperative. Moves the ECSW to the IOERBLOK Moves the hardware stored unit address and the I/O extended logout to
the channel check record Sets the I/O extended logout area and ECSi area to ones Returns control to the channel control subroutine
The 2860 logout area is checked to determine if a complete logout
exists; if not, CP termination is necessary. CP Introduction 1-159
A check is made in the logout area for validity of the CSW fields and
bits are set in the channel check record's ECSW field to indicate bad
fields.
The channel logout is then checked and sequence codes are set based
on the presence of a channel control check, or an interface control
check. If a channel control check is present, the codes set are
determined through parity. The count determines if parity is good and
sets a resultant condition code.
The logout area is examined to ensure that the unit address has valid
parity and is the same address passed by DftKIOS. If so, the
unit-address-valid bit in the ECSW is set. If the unit address is not
valid, the unit-address-valid bit is reset to indicate the invalid
condition.
The ECSW field in the channel check record is moved to the IOERBLOK, if one exists.
After completing the ECSW the 2680 routine moves the 2860 I/O extended logout into the channel check record, set the I/O extended
logout area to ones, and returns to the channel control subroutine.
If the channel failed to log out completely, at least part of the logout
area is all ones. If a fullword of ones is found, a CP termination condition exists. A check is made in the logout area for CSW and bits are
set in the channel check record's ECSW field to indicate bad fields.
The termination and sequence codes are set depending on the presence
of an interface control check or channel control check. If a channel
control check is present, the codes set are determined through parity,
count, and/or data transfer checks. For the 2870, parity can be
determined directly from the channel logout.
The logout area is also examined to ensure valid parity in the unit
address and to ensure that the address is the same as that passed to DftKCCH by DMKIOS. If so, the unit-address-valid bit in the ECSW is set.
The third word of the logout area is also analyzed for type II
errors. If a type II error is found, a CP termination condition exists.
The ECSW field in the channel check record is moved to the IOERBLOK, if one exists.
Before returning to the channel control subroutine, the 2870 routine
.oves the 2870 I/O extended logout into the channel check record and
sets the I/O extended logout area to ones.
This routine analyzes 9 words of the 28-word logout. 1-160 IBM VM/370 System Logic and Problem Determination--Vo1ume 1
Previous Page Next Page