specifies that the entire contents of a checking block
are to be replaced, validation mayor may notoccur, depending on the operation and the model. Storage
validation during theIPL input operations follows
the same rules as for normal input operations.
Programmed Validation of Storage
Execution of the instructionMOVE (MVC) or MOVE LONG (MVCL) validates the main-storage
area containing the first operand when the following
conditions are satisfied:• The first-operand field and second-operand
field participating in the operation do not over
lap.• The first-operand field starts on a boundary of a
checking block and is an integral number of
checking blocks in length.• For MVCL, the second-operand field, if nonze
ro in length, starts on a boundary of a checking
block and, if it is shorter than the first-operand
field, is an integral number of checking blocks
in length.
An interruption or stopping of theCPU during
execution ofMVCL does not affect the validation
function performed.
Handling of Invalid CBC in Keys in
Storage
Depending on the model, each key in storage may
consist of a single checking block, or the protection
bits and the change and reference bits may be in
separate checking blocks. Invalid CBC on the key in
storage is ignored in storing or fetching with a zero
protection key. References to main storage to which
protection does not apply are treated as if a protec
tion key of zero is used for the reference. This in
cludes such references as channel references during
theIPL procedure, implicit references such as in
timer updating and interruption action, andOAT table accesses. The key in storage is validated by
SETSTORAGE KEY.
The table "Handling of Invalid CBC in Keys in
Storage"describes the action taken when the key in
storage has invalid CBC.
Handling of Invalid CBC in Registers
During a machine-check interruption, the contents
of the general, floating-point, and control registers,
and of theCPU timer and clock comparator if they
are installed, are stored at fixed locations in main
storage. Invalid CBC detected during this operation
does not result in additional machine-check
interruption conditions; instead, the accuracy of the
information stored is indicated by the appropriate
setting of the validity bits in the machine-check
interruption code.On some models, registers with
invalid CBC will be automatically validated during
the interruption.On other models, programmed vali
dation is required. TheTOO clock and the prefix
register are not stored during the machine-check
interruption and are not validated.On those models in which registers are not auto
matically validated as part of the machine-check
interruption, a register with invalid CBC will not
cause a machine-check interruption condition unless
the contents of the register are actually used. In
these models, each register may consist of one or
more checking blocks, but multiple registers are not
included in a single checking block. When only a
portion of a register is accessed, invalid CBC in the
unused portion of the same registermay cause a
machine-check interruption condition. For example,
invalid CBC in the right half of a long operand of a
floating-point register may cause a machine-check
interruption condition if aLOAD (LE) operation
attempts to replace the left half, or short form, of
the register.
Invalid CBC associated with the check-stop con
trol bit (control register 14, bit0) and with the asyn 'chronous fixed-logout control bit (control register
14, bit 9) will cause theCPU either to immediately
enter check-stop state or to assume that bits0 and 9
have their initialized values of one and zero, respcc
tively.
Invalid CBC associated with the prefix register
cannot be safely reported by the machine-check
interruption, since the interruption itself requires
that the prefix value be applied to convcrt real ad
dresses to the corresponding absolute addresses.
When the check-stop control bit (control register 14,
bit0) is one, invalid CBC in the prefix register caus
es theCPU to immediately enter the check-stop
state. When the check-stop control bit is zero, inval
id CBC in the prefix register either may cause theCPU to enter the check-stop state or may generate a
system damage condition, depending on the model.
Validation of RegistersOn those models which do not validate registers
during a machine-check interruption, the following
instructions will cause validation of a register, pro
vided the information in the register is not used be
fore the register is validated.Other instructions,
although they replace the entire contents of a regis
ter, do not necessarily cause validation.
General registers are validated by BRANCH
AND LINK (BAL, BALR),LOAD (LR), and LOAD ADDRESS (LA). LOAD (L) and LOAD MULTIPLE (LM) validate if the operand is on a
Machine-Check Handling 173
are to be replaced, validation mayor may not
validation during the
the same rules as for normal input operations.
Programmed Validation of Storage
Execution of the instruction
area containing the first operand when the following
conditions are satisfied:
field participating in the operation do not over
lap.
checking block and is an integral number of
checking blocks in length.
ro in length, starts on a boundary of a checking
block and, if it is shorter than the first-operand
field, is an integral number of checking blocks
in length.
An interruption or stopping of the
execution of
function performed.
Handling of Invalid CBC in Keys in
Storage
Depending on the model, each key in storage may
consist of a single checking block, or the protection
bits and the change and reference bits may be in
separate checking blocks. Invalid CBC on the key in
storage is ignored in storing or fetching with a zero
protection key. References to main storage to which
protection does not apply are treated as if a protec
tion key of zero is used for the reference. This in
cludes such references as channel references during
the
timer updating and interruption action, and
SET
The table "Handling of Invalid CBC in Keys in
Storage"
storage has invalid CBC.
Handling of Invalid CBC in Registers
During a machine-check interruption, the contents
of the general, floating-point, and control registers,
and of the
are installed, are stored at fixed locations in main
storage. Invalid CBC detected during this operation
does not result in additional machine-check
interruption conditions; instead, the accuracy of the
information stored is indicated by the appropriate
setting of the validity bits in the machine-check
interruption code.
invalid CBC will be automatically validated during
the interruption.
dation is required. The
register are not stored during the machine-check
interruption and are not validated.
matically validated as part of the machine-check
interruption, a register with invalid CBC will not
cause a machine-check interruption condition unless
the contents of the register are actually used. In
these models, each register may consist of one or
more checking blocks, but multiple registers are not
included in a single checking block. When only a
portion of a register is accessed, invalid CBC in the
unused portion of the same register
machine-check interruption condition. For example,
invalid CBC in the right half of a long operand of a
floating-point register may cause a machine-check
interruption condition if a
attempts to replace the left half, or short form, of
the register.
Invalid CBC associated with the check-stop con
trol bit (control register 14, bit
14, bit 9) will cause the
enter check-stop state or to assume that bits
have their initialized values of one and zero, respcc
tively.
Invalid CBC associated with the prefix register
cannot be safely reported by the machine-check
interruption, since the interruption itself requires
that the prefix value be applied to convcrt real ad
dresses to the corresponding absolute addresses.
When the check-stop control bit (control register 14,
bit
es the
state. When the check-stop control bit is zero, inval
id CBC in the prefix register either may cause the
system damage condition, depending on the model.
Validation of Registers
during a machine-check interruption, the following
instructions will cause validation of a register, pro
vided the information in the register is not used be
fore the register is validated.
although they replace the entire contents of a regis
ter, do not necessarily cause validation.
General registers are validated by BRANCH
AND LINK (BAL, BALR),
Machine-Check Handling 173