Terminal Interruptions Terminal input/output interruptions are handled by the DMSCIT module.
All interruptions other than those containing device -end, channel end,
attention, or unit exception status are ignored. If device end status
is present with attention and a write ccw was terminated, its buffer is
unstacked. An attention interrupt causes a read to be issued to the
terminal, unless attention exits have been queued via tne STAX macrc.
The attention exit with the highest priority is given control at each
attention until the queue is exhausted, then a read is issued. Device
end status indicates that the last I/O operation has been completed. If
the last I/O operation -was a write, the line is deleted from the output
buffer and the next write, if any, is started. If the last I/O operation was a normal read, the buffer is put on the finished read list
and the next operation is started. If the read vas caused by an
attention interrupt, the line is first checked for the commands RT, He,
HT, or HX, and the appropriate flags are set if one is found. Unit exception indicates a canceled read. The read is reissued, unless it
had been issued with ATTREST=NO, in which case unit exception is treated
as device end.
Reader I Pu nchl Printer Interruptions Interruptions from these devices are handled by the routines that
actually issue the corresponding I/O operations. When an interruption froa any of these devices occurs, control passes to DMSITI. Then DMSITI passes control to DMSIOW, which returns control to the routine that
issued the I/O operation. This routine can then analyze the cause of
the interruption. User-Controlled Device Interruptions Interrupts from devices under user control are serviced the same as CMS devices except that DMSIOW and DMSITI manipulate a user-created device
table, and DMSITI passes control to any user-written interrupt
processing routine that is specified in the user device table. Otherwise, the processing program regains control directly.
Program Interruptions The program interruption handler, DMSITP, receives control when a
program interruption occurs. When DMSITP gets control, it stores the
Frogram old PSi and the contents of the registers 14, 15, 0, 1, and 2
into the program interruption element (PIE). (the routine that handles
the SPIE macro instruction has already placed the address of the program
interruption control area (PICA) into PIE.) DMSITP then determines wb9ther or not the event that caused the interruption was one of those
selected by a SPIE macro instruction. If it was not, DMSITF passes
control to the DMSABN abend recovery routine.
If the cause of the interruption was one of those selected in a SPIE macro instruction, DMSITP picks up the exit routine address from the PICA and passes control to the exit routine. Upon return from the exit
routine, DMSITP returns to the interrupted program by loading the original program check old PSW. The address field of the PSi vas modified by a SPIE exit routine in the PIE. 238 IBM VM/370 System programmer's Guide
External Interruptions
An external interruption causes control to be passed to the external
interrupt handler If the user has issued the HNDEXT macro to
trap external interrupts, DMSITE passes contrel to the user's exit
routine. If the interrupt was caused by the timer, DMSITE resets the
timer and types the BLIP character at the terminal. the standard BLIP timer setting is two seconds, and the standard BLIP character is
uppercase, followed by the lowercase (it moves the typeball without
printing). Otherwise, control is passed to the tEBUG routine.
Machine Check Interruptions
Hard machine check interruptions on the real processor are not reflected
to a virtual user by CPa A message prints on the console indicating
the failure. The user is then disabled and must IPL CMS again in order
to continue. Part 3. Conversational Monitor System 239
Previous Page Next Page