HANDLING OF MACHINE CHECKS A machine check is caused by a machine
malfunction and not by data or
instructions. This is ensured during
the power-on sequence by initializing
the machine controls to a valid state
and by placing validCBC in the CPU registers, in the storage keys, and, if
it is volatile, also in main storage.
Designation of an unavailable component,
such as a storage unit, channel, orI/O device, does not cause a machine-check
indication. Instead, such a condition
is indicated by the appropriate program
orI/O interruption or condition-code
setting. In particular, an attempt to
access a storage location which is not
in the configuration, or which has power
off at the storage unit, results in an
addressing exception when detected by
theCPU and does not generate a
machine-check condition, even though the
storage location or its associated stor
age key has invalidCBC. Similarly, if
the channel attempts to access such a
location, an I/O-interruption condition
indicating program check is generated
rather than a machine-check condition.
A machine check is indicated whenever
the result of an operation could be
affected by information with invalidCBC, or when any other malfunction makes
it impossible to establish reliably that
an operation can be, or has been,
performed correctly. When information
with invalidCBC is fetched but not
used, the condition mayor may not be
indicated, and the invalidCBC is
preserved.
When a machine malfunction is detected,
the action taken depends on the model,
the nature of the malfunction, and the
situation in which the malfunction
occurs. Malfunctions affecting
operator-facility actions may resultin machine checks or may be indicated to
the operator. Malfunctions affecting
certain other operations such as SIGNALPROCESSOR may be indicated by means of a
condition code or may result in a
machine-check-interruption condition.
A malfunction detected as part of anI/O operation may cause a machine-check
interruption condition, an I/O-error
condition, or both. I/O-error condi
tions are indicated by anI/O inter-
ruption or by the appropriate
condition-code setting during the
execution of anI/O instruction. When
the machine reports a failing-storage
location detected during anI/O opera
tion, both I/O-error and machine-check
conditions may be indicated. The1/0- error condition is the primary
indication to the program. The
machine-check condition 1S a secondary
indication, which is presented as system
recovery or as an external secondary
report, together with a failing-storage
address.
VALIDATION
Machine errors can be generally classi
fied as solid or intermittent, according
to the persistence of the malfunction.
A persistent machine error is said to be
solid, and one that is not persistent is
said to be intermittent. In the case of
a register or storage location, a third
type of error must be considered, called
externally generated. An externally
generated error is one where no failure
exists in the register or storage
location but invalidCBC has been intro
duced into the location by actions
external to the location. For example,
the value could be affected bya power
transient, or an incorrect value may
have been introduced when the informa
tion was placed at the location.
InvalidCBC is preserved as invalid when
information with invalidCBC is fetched
or when an attempt is made to update
only a portion of the checking block.
When an attempt is made to replace the
contents of the entire checking block
and the block contains invalidCBC, it
depends on the operation and the model
whether the block remains with invalidCBC or is replaced. An operation which
replaces the contents of a checking
block with validCBC, while ignoring the
current contents, is called a validation
operation. Validation is used to place
a validCBC in a register or at a
location which has an intermittent or
externally generated error.
Validating a checking block does not
ensure that a validCBC will be observed
the next time the checking block is
accessed. If the failure is solid,
validation is effective only if the
information placed in the checking block
is such that the failing bits are set to
the value to which they fail. If an
attempt is made to set the bits to the
state opposite to that in which they
fail, then the validation will not be
effective. Thus, for a solid failure,
validation is only useful to eliminate
the error condition, even though the
underlying failure remains, thereby
reducing the exposure to additional
reports. The locations, however, cannot
be used, since invalidCBC will result
from attempts to store other values at
the location. For an intermittent fail
ure, however, validation is useful to
restore a validCBC such that a subse
quent partial store into the checking
block will be permitted. (A partial
store is a store into a checking block
without replacing the entire checking
block.)Chapter 11. Machine-Check Handling 11-5
malfunction and not by data or
instructions. This is ensured during
the power-on sequence by initializing
the machine controls to a valid state
and by placing valid
it is volatile, also in main storage.
Designation of an unavailable component,
such as a storage unit, channel, or
indication. Instead, such a condition
is indicated by the appropriate program
or
setting. In particular, an attempt to
access a storage location which is not
in the configuration, or which has power
off at the storage unit, results in an
addressing exception when detected by
the
machine-check condition, even though the
storage location or its associated stor
age key has invalid
the channel attempts to access such a
location, an I/O-interruption condition
indicating program check is generated
rather than a machine-check condition.
A machine check is indicated whenever
the result of an operation could be
affected by information with invalid
it impossible to establish reliably that
an operation can be, or has been,
performed correctly. When information
with invalid
used, the condition mayor may not be
indicated, and the invalid
preserved.
When a machine malfunction is detected,
the action taken depends on the model,
the nature of the malfunction, and the
situation in which the malfunction
occurs. Malfunctions affecting
operator-facility actions may result
the operator. Malfunctions affecting
certain other operations such as SIGNAL
condition code or may result in a
machine-check-interruption condition.
A malfunction detected as part of an
interruption condition, an I/O-error
condition, or both. I/O-error condi
tions are indicated by an
ruption or by the appropriate
condition-code setting during the
execution of an
the machine reports a failing-storage
location detected during an
tion, both I/O-error and machine-check
conditions may be indicated. The
indication to the program. The
machine-check condition 1S a secondary
indication, which is presented as system
recovery or as an external secondary
report, together with a failing-storage
address.
VALIDATION
Machine errors can be generally classi
fied as solid or intermittent, according
to the persistence of the malfunction.
A persistent machine error is said to be
solid, and one that is not persistent is
said to be intermittent. In the case of
a register or storage location, a third
type of error must be considered, called
externally generated. An externally
generated error is one where no failure
exists in the register or storage
location but invalid
duced into the location by actions
external to the location. For example,
the value could be affected by
transient, or an incorrect value may
have been introduced when the informa
tion was placed at the location.
Invalid
information with invalid
or when an attempt is made to update
only a portion of the checking block.
When an attempt is made to replace the
contents of the entire checking block
and the block contains invalid
depends on the operation and the model
whether the block remains with invalid
replaces the contents of a checking
block with valid
current contents, is called a validation
operation. Validation is used to place
a valid
location which has an intermittent or
externally generated error.
Validating a checking block does not
ensure that a valid
the next time the checking block is
accessed. If the failure is solid,
validation is effective only if the
information placed in the checking block
is such that the failing bits are set to
the value to which they fail. If an
attempt is made to set the bits to the
state opposite to that in which they
fail, then the validation will not be
effective. Thus, for a solid failure,
validation is only useful to eliminate
the error condition, even though the
underlying failure remains, thereby
reducing the exposure to additional
reports. The locations, however, cannot
be used, since invalid
from attempts to store other values at
the location. For an intermittent fail
ure, however, validation is useful to
restore a valid
quent partial store into the checking
block will be permitted. (A partial
store is a store into a checking block
without replacing the entire checking
block.)