Block-content State (CS)
Bits 62-63 contain a 2-bit code value indicating the block-content
state of the designated 4 KB block. Following are the meanings of
each block-content state code value:
- Code value
- Meaning
- 0
- Resident state
- 1
- (reserved)
- 2
- Preserved state
- 3
- Logically-zero state
The M₃ field designates a 4-bit operation-request code (ORC). Following
are the meanings of values of this field:
- Code value
- Meaning
- 0
- Extract Block Attributes. The current block-usage and block-content states of the designated 4 KB block are extracted. No change is made to either state.
- 1
- Set Stable State. The current block-usage and block-content states of the designated 4 KB block are extracted. Following extraction of the states, the block-usage state is set to the stable state.
- 2
- Set Unused State. The current block-usage and block-content states
of the designated 4 KB block are extracted. Following extraction of
the states, the following occurs:
- The block-usage state is set to the unused state.
- If the block-content state is the preserved state, the contents of the block are immediately discarded and the block-content state is set to the logically-zero state.
- 3
- Set Volatile State. The current block-usage and block-content
states of the designated 4 KB block are extracted. Following extraction
of the states, the following occurs:
- The block-usage state is set to the volatile state.
- If the block-content state is the preserved state, the contents of the block are immediately discarded and the block-content state is set to the logically-zero state.
- 4
- Set Potentially-Volatile State. The current block-usage and block-content
states of the designated 4 KB block are extracted. Following extraction
of the states, the following occurs:
- If the block-content state is the resident state, the block-usage state is set to the potentially-volatile state.
- If the block-content state is the preserved state and the change bit for the 4 KB block is one, the block-usage state remains the stable state and the block-content state remains the preserved state. (See Figure 1.)
- If the block-content state is the preserved state and the change bit for the 4 KB block is zero, the contents of the block are immediately discarded and the block-usage state is set to the volatile state and the block-content state is set to the logically-zero state.
- If the block-content state is the logically-zero state, the block-usage state is set to the volatile state.
- 5
- Set Stable State and Make Resident. The current block-usage and block-content states of the designated 4 KB block are extracted. Following extraction of the states, the block-content state is set to the resident state and the block-usage state is set to the stable state.
- 6
- Set Stable State If Resident. The current block-usage and block-content states of the designated 4 KB block are extracted. Following extraction of the states, the block-usage state is set to the stable state only if the block-content state is the resident state.
- 7-15
- Reserved. The instruction should not be issued with any of these values in M₃; otherwise the program might not operate compatibly in the future.
When the contents of a 4 KB block are discarded, either synchronously or asynchronously, the reference and change bits in the storage key for the block are set to zeros and the values of the access-control and fetch-protection bits are changed to unpredictable values. With the exception of this case, the instruction has no effect on the reference and change bits for the block.
A serialization and checkpoint-synchronization function is performed before the operation begins and a checkpoint-synchronization function is performed again after the operation completes.