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.