All error recovery is started the same except for
intervention-required errors. The IOBFLAG is turned on to indicate RESTART (IOBFLAG=IOBRSTRT), and the IOBRCAW (IOBLOK Restart CAW) is
filled with the restart channel address word. In addition, an IOBFLAG flag is turned on to indicate that the ERP is in control so that control
can be returned to ERP during all tape error recovery (IOBFLAG=IOBERP). In the case of an intervention required error, the ERP sends a message to the operator, and then returns to with indications that tell DMKIOS the HRP is waiting for a device end on this device. This is done
by clearing the restart flag and returning to DKKIOS with only the IOBERP flag on. When ERP has determined a permanent error situation or successfully
recovered from an error, all storage obtained for recovery CCWs, buffers, and IOERBLOKs is freed before a return is made to DKKIOS (see Figure 22 for a summary of the lOB indicators), also, the
statistical counters for 2400, 3410, and 3420 devices are updated.
If the error is uncorrectable or operator intervention is necessary, HRP calls the message writer to write the specific message. 3270 REMOTE SUPPORT ERROR RECOVERY Recovery from errors associated with binary synchronous lines, and the
related channel and transmission control unit hardware is processed by DMKBSC. Recovery from errors associated with data and control
processing by the reaote station (the device) as defined by rellote status and sense byte definition (see is processed by DKKRGF. Control blocks
associated with these errors are the COtTASK, the RDEVBLOK, the BSCBLOK, the NICBLOK, the IOBLOK, and the IOERBLOK. The interruption handler, DKKIOS, performs a SENSE operation upon
detection of a unit check condition (IOERBLOK). The related sense data
is analyzed as it relates to the previous operation (CONTASK or BSCBLOK, whichever is applicable). If a channel check is encountered by the
channel check interruption handler, the channel check interruption (DKKBSC) procedures determine if recovery can be attempted. If it
cannot be retried, that operation is aborted and an appropriate message is sent to the system operator.
Depending upon the error encountered, ERP receives control and either DKKBSC or DMKGRA and DKKGRB determines if this is the first entry into
the ERP for this task. The IOBRCNT (lOB error count) field of the lOB is zero on initial entry. On this first entry, the pointer to the IOERBLOK is placed in the RDEVIOER field of the RDEVBLOK. This
preserves the original error CSW and sense information for recording.
Thereafter, IOERBLOKs are discarded before a is attempted or a
permanent error is passed to lOS. The ERP looks for two other specific conditions. If the error count
field is not zero, entry Ilust be due to a rec overy attempt. Thus, it may be a solicited device end to correct an intervention-required
condition or a retry of channel program execution.
The ERP keeps track of the number of retries in the IOBRCNT field of
the IOBLOK to determine if a retry lillit has been exceeded for a
particular error. If the specified number of retries fails to correct
the error, the error is recorded and DMKIOS is notified of the permanent
error by turning on a status flag in the IOBLOK (IOBSTAT=IOBFATAL). CP Introduction 1-171
If the error is corrected, the temporary error is not recorded and
control is returned to DMKIOS with all error flags off. When ERP has determined a permanent error situation or successfully
recovered from an error, all auxiliary storage obtained for recovery CCWs, buffers, and IOERBLOKs is freed before a return is made to DMKIOS (see Figure 22 for a summary of the lOB indicators). Also, the
statistical counters for 3270 are updated.
The Attached Processor Environment
Attached processor support is requested by specifying AP=YES on the SYSCOR macro. For a complete description of system generation
considerations, see CP Initialization for the Attached Processor Qf QEeration, has a detailed discussion of
prefixing that is necessary for understanding the initialization done
for the attached processor. PROCESSOR ADDRESSES The CP initialization routine, DMKCPI, begins normal processing by
storing the physical, main processor address --usually X'OO' -- in the IPUADDR field in the PSA at location absolute zero. (Prefixing has not
yet been established.) The logical processor address is computed by
doing a logical OR of the physical address with X'40' and is stored in
the PSI in LPUADDR. The logical value is used by the CP LOCK manager to
avoid using a zero value. The physical value is used for signaling
between the two processors.
If AP=YES was coded on the SYSCOR macro, DMKCPI uses the SIGP function to see if the attached processor is available. If so, its
physical and logical addresses are stored in the PSA in IPUIDDRX and LPUADDRX, respectively. If the attached processor is not available, APUBOBLB is set to 1. If the multi-processing option is installed, message DMKCPI959w is sent to the operator. PSA SETUP The top two 4K pages of storage are marked (in the CORTIBLE) as being CP-owned and are used as the PSAs for the two processors. The addresses
of these two pages are stored at PREFIXA and PREFIXB in the PSI at
location absolute zero. DMKAPI copies the information from the PSI at
location absolute zero to the new PSA locations. In the PSI designated
for the attached processor, PREFIX! and PREFIXB are switched. Thus, on
either processor PREFIXA always represents the current processor and PREPIXB the other processor. The values of IPUADDR, LPUADDR, IPUIDDRX, and LPUADDRX are also switched so that IPUADDR and LPUIDDR always
contain the processor addresses of the current processor and IPUADDRX and LPUADDRX contain the other processor addresses.
1-172 IB! VM/370 System Logic and Problem Determination--Volume 1
Previous Page Next Page