Browse Prior Art Database

PSW-Key Mask As a Capability Mask

IP.com Disclosure Number: IPCOM000102028D
Original Publication Date: 1990-Oct-01
Included in the Prior Art Database: 2005-Mar-17
Document File: 2 page(s) / 65K

Publishing Venue

IBM

Related People

Scalzi, CA: AUTHOR [+2]

Abstract

The idea described in this article is to change 370/XA Architecture such that the PSW-key mask (PKM) becomes the capability of a program using that mask to freely use the keys specified in that mask. The PKM is in bits 0-15 of Control Register 3. In today's architecture definition, the PKM specifies what values may be placed in the PSW by a program running in problem state under that mask. A "one" bit in a particular position allows the program to set that value of key in the PSW and, consequently, to run in that key. A zero in a bit position prevents setting the PSW key to the corresponding key value. A program may change the key in the PSW with the Set PSW Key from Address (SPKA) instruction. In problem state a program may use SPKA to set into the PSW any key value allowed by the PKM.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

PSW-Key Mask As a Capability Mask

       The idea described in this article is to change 370/XA
Architecture such that the PSW-key mask (PKM) becomes the capability
of a program using that mask to freely use the keys specified in that
mask.  The PKM is in bits 0-15 of Control Register 3.  In today's
architecture definition, the PKM specifies what values may be placed
in the PSW by a program running in problem state under that mask.  A
"one" bit in a particular position allows the program to set that
value of key in the PSW and, consequently, to run in that key.  A
zero in a bit position prevents setting the PSW key to the
corresponding key value.  A program may change the key in the PSW
with the Set PSW Key from Address (SPKA) instruction.  In problem
state a program may use SPKA to set into the PSW any key value
allowed by the PKM.

      Making the PKM the key capability of a program means that the
program has free access to data of any key allowed by the PKM in any
instruction regardless of the value of the PSW key.  In other words,
as far as data access is concerned, the program is running with ALL
the keys allowed by the PKM simultaneously.  The program may store
into any key allowed by the PKM and fetch from fetch protected
storage in any of those keys.  This can be done directly without the
housekeeping steps of maintaining the PSW key where storage of
different keys must be accessed.

      Subsystems in a multi-space environment must, of necessity,
move data between spaces with different keys in responding for calls
for...