thorized storing or fetching by the program. Storage is protected from improper
storing or from both improper storing and fetching, but not from improper fetching
alone.
When protection applies to a storage access, the key in storage is compared with
the protection key associated with the request for storage access. A store or fetch
is permitted only when the key in storage matches the protection key.
When a store access is prohibited because of protection, the contents of the pro
tected location remain unchanged.On fetching, the protected information is not
loaded into an addressable register, moved to another storage location, or provided
to anI/O device.
When a processor access is prohibited because of protection, the operation is sup
pressed or terminated, and a program interruption for a protection exception takes
place. When a channel access is prohibited, a protection-check condition is indi
cated in the channel status word (CSW) stored as a result of the operation.
When the access to storage is inhibited by the processor, and protection applies, the
protection key of the processor occupies bit positions 8-11 of the PSW. When the
reference is made by a channel, and protection applies, the protection key associ
ated with theI/O operation is used as the comparand. The protection key for an I/O operation is specified in bit positions 0-3 of the channel-address word (CAW)
and is recorded in bit positions0-3 of the channel status word (CSW) stored as a
result of theI/O operation.
To use fetch protection, a virtual machine must execute the Set Storage Key (SSK)
instruction referring to the data areas to be protected, with the fetch protect bit set
on in the key. VM/SP subsequently:
1. Checks for a fetch protect violation in handling privileged and nonprivileged
instructions.
2. Saves and restores the fetch protect bit (in the virtual storage key) when writ
ing and recovering virtual machine pages from the paging device.
3. Checks for a fetch protection violation on a write CCW (except for spooling or
console devices).
The CMS nucleus resides in a shared segment. This presents a special case for
storage protection since the nucleus must be protected and still shared among many
CMS users. In order to protect the CMS nucleus in the shared segment, user pro
grams and disk-resident CMS commands run with a different key than the nucleus
code.
VM/SP 5
storing or from both improper storing and fetching, but not from improper fetching
alone.
When protection applies to a storage access, the key in storage is compared with
the protection key associated with the request for storage access. A store or fetch
is permitted only when the key in storage matches the protection key.
When a store access is prohibited because of protection, the contents of the pro
tected location remain unchanged.
loaded into an addressable register, moved to another storage location, or provided
to an
When a processor access is prohibited because of protection, the operation is sup
pressed or terminated, and a program interruption for a protection exception takes
place. When a channel access is prohibited, a protection-check condition is indi
cated in the channel status word (CSW) stored as a result of the operation.
When the access to storage is inhibited by the processor, and protection applies, the
protection key of the processor occupies bit positions 8-11 of the PSW. When the
reference is made by a channel, and protection applies, the protection key associ
ated with the
and is recorded in bit positions
result of the
To use fetch protection, a virtual machine must execute the Set Storage Key (SSK)
instruction referring to the data areas to be protected, with the fetch protect bit set
on in the key. VM/SP subsequently:
1. Checks for a fetch protect violation in handling privileged and nonprivileged
instructions.
2. Saves and restores the fetch protect bit (in the virtual storage key) when writ
ing and recovering virtual machine pages from the paging device.
3. Checks for a fetch protection violation on a write CCW (except for spooling or
console devices).
The CMS nucleus resides in a shared segment. This presents a special case for
storage protection since the nucleus must be protected and still shared among many
CMS users. In order to protect the CMS nucleus in the shared segment, user pro
grams and disk-resident CMS commands run with a different key than the nucleus
code.
VM/SP 5