If the SVC number is not found in the user-defined SVC table (or if
the table is nonexistent),DMSITS either transfers control to the CftSDOS shared segment (if SETDOS ON has been issued), or the standard system
table (contained inDMSSVT) of OS calls is searched for that SVC number. If the SVC number is found, control is transferred to the corresponding
address in the usual manner. If theSVC is not in either table, then
the supervisor call is treated as an abend call.
TheDMSHDS initialization program sets up the user-defined SVC table.
It is possible for a user to provide his ownSVC routines. Input/Output Interruptions
All input/output interruptions are received by theI/O interrupt
handler,DftSITI. DftSITI saves the I/O old PSi and the CSi (channel
status word). It then determines the status and requirements of thedevice the interruption and passes Lo the that
processes interruptions from that device.DMSITI scans the entries in
the device table until it finds the one containing the device address
that is the same as that of the interrupting device. The device table(DEVTAB) contains an entry for each device in the system. Each entry
for a particular device contains, among other things, the address of the
program that processes interruptionsfrom that device. When the appropriate interrupt handling routine completes its
processing, it returns control toDMSITI. At this point, DftSITI tests
the wait bit in the savedI/O old PSi. If this bit is off, the
interruption was probably caused by a terminal (asynchronous)I/O operation. DftSITI then returns control to the interrupted program by
loading theI/O old PSi. If the wait bit is on, the interruption was probably caused by a
nanterminal (synchronous)I/O operation. The program that initiated the
operation most likely called theDMSIOi function routine to wait for a
particular type of interruption (usually a device end)• In this case, DMSITI checks the pseudo-wait bit in the device table entry for the
interrupting device. If this bit is off, thesystem is waiting for some event other than the interruption from the interrupting device; DftSITI returns to the wait state by loading the saved I/O old PSi. (This PSi has the wait bit on.)
If the pseudo-wait bit is on, thesystem is waiting for an
interruption from that particular device. If this interruption is not
the one being waited for,DMSITI loads the saved I/O old PSi. This will
again place the machine in the wait state. Thus, the program that is
waiting for a particular interruption will be kept waiting until that
interruption occurs.
If the interruption is the one being waited for,DftSITI resets both
the pseudo-wait bit in the device table entry and the wait bit in theI/O old PSi. It then loads that PSi. This causes control to be
returned to theDftSIOi function routine, which, in turn, returns control
to theprogram that called it to wait for the interruption.
2-8IBM VM/370 System Logic and Program Determination--Volume 2
the table is nonexistent),
table (contained in
address in the usual manner. If the
the supervisor call is treated as an abend call.
The
It is possible for a user to provide his own
All input/output interruptions are received by the
handler,
status word). It then determines the status and requirements of the
processes interruptions from that device.
the device table until it finds the one containing the device address
that is the same as that of the interrupting device. The device table
for a particular device contains, among other things, the address of the
program that processes interruptions
processing, it returns control to
the wait bit in the saved
interruption was probably caused by a terminal (asynchronous)
loading the
nanterminal (synchronous)
operation most likely called the
particular type of interruption (usually a device end)
interrupting device. If this bit is off, the
If the pseudo-wait bit is on, the
interruption from that particular device. If this interruption is not
the one being waited for,
again place the machine in the wait state. Thus, the program that is
waiting for a particular interruption will be kept waiting until that
interruption occurs.
If the interruption is the one being waited for,
the pseudo-wait bit in the device table entry and the wait bit in the
returned to the
to the
2-8