models may accept the status into the
subchannel.AiternativelY1 some models
may signal the device to hold the status
until the channel is capable of causing
an interruption. In thiscase1 the
channel selects the device to obtain the
status when the interruption occurs.
The status stored by the channel is the
status presented by the device at inter
ruption timeand1 because of changed
conditions at the device, may not be the
same status presented by the device
initially. Specifically, a status of
zero, busy, or busy and status modifier
may be stored.
When the channel detects any of the
following, itgenerates an interruption
condition without necessarily communi
cating with or having received the
status byte from the device:• PCl flag in a CCW • Termination of a burst operation by
HALTI/O or HALT DEVICE on a selec
tor channel• Channel-available
(CAl)
interruption• A programming error associated with
the CCW or first IDAW following theSIOF function • The device not operational after
condition code0 is set for an SIOF or RIO function.
The interruption conditions from thechannel1 except for CAl, can be accompa
nied by other channel-status
indications, but none of the device
status bits is on when the channel
initiates the interruption in this case.
Channel-Available Interruption
The channel-available-interruption (CAl)
condition is provided on all block
multiplexer channels and all channels
that provide start-I/O-fast queuing for
one or more subchannels. TheCAl condi
tion causes the entireCSW to be
replaced by a new set of bits. All
fields of theCSW are set to zero. The I/O address stored contains a zero
device address and a channel address
identifying the interrupting channel.
A channel which provides the channel
available-interruption condition gener
ates the CAl condition if it previously
had responded with a condition code 2 to
anI/O instruction other than HALT I/O or HALT DEVICE and if the working state
thus indicated no longer exists. When
the working state which caused condition
code 2 was due to a subchannel busy with
a device other than the oneaddressed1 the conclusion eof the working state is
not signaled by a CAl. Some channels
may generate the CAl condition in the
following situations:
1. The channel is unable to retrieve
status from theI/O device because
theI/O device appeared not opera
tional when the channel was allowed
to cause an interruption.
2. The channel had previously
responded with a condition code 1
to a TESTCHANNEL instruction.
A channel that provides start-I/O-fast
queuing also generates theCAl condition
in the following situation. If a
control-unit-busy condition has been
signaled to the program by storing aCSW, either during the execution of
STARTI/O or START I/O FAST RELEASE, or
during anI/O interruption subsequent to
setting condition code0 for START I/O FAST RELEASE executed independent of the device1 the control unit subsequently
generates the control-unit-end condition
to signal that the control unit is now
available. The control unit may associ
ate the control-unit-end status with any
device address that the control unit is
capable of recognizing to present the
status to the channel. When the device
address used by the control unit to
present the control-unit-end status (in
the absence of any other status indi
cation) is associated with a subchannel
that is working and has anI/O operation
pending at the subchannel or has a
suspended channel-program execution, the
subchannel is not made interruption
pending with the control-unit-end
status. Instead, the channel recognizes
theCAl condition. The control-unit-end
status is discarded in this case and the
state of the subchannel associated with
the device address remains unchanged.
Since any other interruption condition
(exceptPCI) accomplishes the same func
tion asCAI 1 a CAl condition is reset
upon the occurrence of any interruption
(exceptPCl) on that channel. Some
channels also reset aCAl condition when
another interruption condition (exceptPCl) is cleared by a TEST I/O or CLEAR I/O on the same channel. The occurrence
of another channel-working state before
the CAl causes theCAl condition to be
suspended until the working state ends.
Programming Note
The CAl can be used as a tool for keep
ingI/O requests in sequence by using it
in conjunction with TESTCHANNEL. The
CAl condition pending in a channel does
not cause the rejection of a subsequent
STARTI/O or START I/O FAST RELEASE but
does cause a condition code 1 to be
returned to TEST CHANNEL. A channel
which responded with condition code 1 or
Chapter 13. Input/Output Operations 13-61
subchannel.
may signal the device to hold the status
until the channel is capable of causing
an interruption. In this
channel selects the device to obtain the
status when the interruption occurs.
The status stored by the channel is the
status presented by the device at inter
ruption time
conditions at the device, may not be the
same status presented by the device
initially. Specifically, a status of
zero, busy, or busy and status modifier
may be stored.
When the channel detects any of the
following, it
condition without necessarily communi
cating with or having received the
status byte from the device:
HALT
tor channel
(CAl)
interruption
the CCW or first IDAW following the
condition code
The interruption conditions from the
nied by other channel-status
indications, but none of the device
status bits is on when the channel
initiates the interruption in this case.
Channel-Available Interruption
The channel-available-interruption (CAl)
condition is provided on all block
multiplexer channels and all channels
that provide start-I/O-fast queuing for
one or more subchannels. The
tion causes the entire
replaced by a new set of bits. All
fields of the
device address and a channel address
identifying the interrupting channel.
A channel which provides the channel
available-interruption condition gener
ates the CAl condition if it previously
had responded with a condition code 2 to
an
thus indicated no longer exists. When
the working state which caused condition
code 2 was due to a subchannel busy with
a device other than the one
not signaled by a CAl. Some channels
may generate the CAl condition in the
following situations:
1. The channel is unable to retrieve
status from the
the
tional when the channel was allowed
to cause an interruption.
2. The channel had previously
responded with a condition code 1
to a TEST
A channel that provides start-I/O-fast
queuing also generates the
in the following situation. If a
control-unit-busy condition has been
signaled to the program by storing a
START
during an
setting condition code
generates the control-unit-end condition
to signal that the control unit is now
available. The control unit may associ
ate the control-unit-end status with any
device address that the control unit is
capable of recognizing to present the
status to the channel. When the device
address used by the control unit to
present the control-unit-end status (in
the absence of any other status indi
cation) is associated with a subchannel
that is working and has an
pending at the subchannel or has a
suspended channel-program execution, the
subchannel is not made interruption
pending with the control-unit-end
status. Instead, the channel recognizes
the
status is discarded in this case and the
state of the subchannel associated with
the device address remains unchanged.
Since any other interruption condition
(except
tion as
upon the occurrence of any interruption
(except
channels also reset a
another interruption condition (except
of another channel-working state before
the CAl causes the
suspended until the working state ends.
Programming Note
The CAl can be used as a tool for keep
ing
in conjunction with TEST
CAl condition pending in a channel does
not cause the rejection of a subsequent
START
does cause a condition code 1 to be
returned to TEST CHANNEL. A channel
which responded with condition code 1 or
Chapter 13. Input/Output Operations 13-61