a subsequent fetch may find an invalid CBC. When TEST BLOCK is installed, it will,
in most cases, be the most effective
instruction in validating storage. When
TEST BLOCK is not installed, MOVE LONG, depending on the model, may prove effec­
tive.
The effectiveness of the following
guideline depends on the model. On some
models, instructions may be implemented
that are more effective than the one
listed here; however, the following
approach is recommended when a model­
dependent routine cannot be justified.
Execution of MOVE LONG will be most
effective in validating 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 overlap. The first-operand field starts on a
2K-byte boundary and is 2K bytes
(or a multiple of 2K bytes) in length. The second-operand field, if nonze­
ro in length, starts on a 2K-byte
boundary and is 2K bytes (or a
multiple of 2K bytes) in length. In general, the validation will be
more effective if the second­
operand field is of zero length. A
nonzero-length second operand
should be specified only if it is
required to restore the contents of
the block without introducing
intermediate values.
An interruption
during execution
affect the
performed.
or stopping of
of MOVE LONG validation
INVALID CBC IN STORAGE KEYS
the CPU does not
function
Depending on the model, each storage key
may be contained in a single checking
block, or the access-control and fetch­
protection bits and the reference and
change bits may be in separate checking
blocks.
The figure "Invalid CBC in Storage Keys"
describes the action taken when the
storage key has invalid CBC. The figure
indicates the action taken for the case
when the access-control and fetch­
protection bits are in one checking
block and the reference and change bits
are in a separate checking block. In
machines where both fields are included
in a single checking block, the action
taken is the combination of the actions
for each field in error, except that
completion is permitted only if an error
in all affected fields permits
completion. References to main storage
to which key-controlled protection does
not apply are treated as if an access
key of zero is used for the reference.
This includes such references as
channel-program references during
initial program loading and implicit
references, such as interruption action
and OAT-table accesses. Chapter 11. Machine-Check Handling 11-7
Action Taken on Invalid CBC Type of Reference
For Access-Control and
Fetch-Protection Bits
SET STORAGE KEY or SET Complete; validate.
STORAGE KEY EXTENDED
INSERT STORAGE KEY INSERT STORAGE KEY EXTENDED PDi preserve. PDi preserve.
RESET REFERENCE BIT or PD or complete;
RESET REFERENCE BIT preserve.
EXTENDED
INSERT VIRTUAL STORAGE PD; preserve. KEY or TEST PROTECTION CPU prefetch (informa- CPFi preserve.
tion not used)
Channel-program pre­
fetch (information
not used)
IPF; preserve.
Fetch, nonzero access MC; preserve.
key
Store, nonzero access MCl; preserve.
key
Fetch, zero access key2 Store, zero access
key2
Explanation: MC or complete;
preserve. MC or complete;
preserve.
For Reference and Change Bits Complete; validate.
PD in EC mode, CPF in BC modei preserve.
PD; preserve.
PD; preserve. CPF; preserve. CPFi preserve. IPFi preserve. MC or complete;
preserve. MC and preserve; or
complete
3
and correct. MC or complete;
preserve. MC and preserve; or
complete
3
and correct.
2
The contents of the main-storage location are not changed.
The action shown for an access key of zero is also appli­
cable to references to which key-controlled protection
does not apply. 3 Complete Correct The reference and change bits are set to ones if the
"complete" action is taken.
The condition does not cause termination of the execution
of the instruction and, unless an unrelated condition pro­
hibits it, the execution of the instruction is completed,
ignoring the error condition. No machine-check-damage
conditions are reported, but system recovery may be re­
ported.
The reference and change bits are set to ones with valid CBC. Invalid CBC in Storage Keys (Part 1 of 2)
11-8 System/370 Principles of Operation
Previous Page Next Page