necessarily produce a valid result if
the program is enabled for interruptions
or operating in a multiprocessing
configuration. This could be the case,
for example, in a multiprocessing
configuration if another CPU executed
INVALIDATE PAGE TABLE ENTRY, followed by
a reassignment of the page.
SET PSW KEY FROM ADDRESS, which is
changed by DAS to be semiprivileged,
provides the semiprivileged program with
the capability of changing the PSW key,
under control of the PSW-key mask, and
thus permits the program to access
different data areas protected by
different keys.
Increased flexibility in key handling is
controlled by a 16-bit PSW-key mask in
control register 3. The PSW-key mask
permits the semiprivileged program to
operate with more than one key without having authorization to all keys. This
mask controls the semiprivileged-program use of keys in MOVE TO PRIMARY, MOVE TO SECONDARY, MOVE WITH KEY, and SET PSW KEY FROM ADDRESS. Each bit position
corresponds to a key value. The bit in
the mask must be one in order for the
corresponding key to be used. Program-Problem Analysis
To aid program-problem analysis, the
option is provided of having a trace
entry made implicitly for three DAS
instructions. When tracing is
activated, a trace entry is made each
time PROGRAM CALL, PROGRAM TRANSFER, or
SET SECONDARY ASN is executed.
As a further analysis aid, PROGRAM CALL and PROGRAM TRANSFER are also recognized
for PER purposes as successful branching
events. Additionally, for these two
instructions, the space-switch-event­
control bit is provided both in control
register 1 and in the second-table entry
used during ASN translation. When
either bit is one, a program inter­
ruption for a space-switch event occurs
at the completion of the instruction.
The effect is to provide for an inter­
ruption when a primary-space switch
occurs, allowing recognition that a
space has been entered, left, or both.
DAS AUTHORIZATION MECHANISMS The DAS authorization mechanisms which
are described in this section permit the
control program to establish the degree
of function which is provided to a
particular semiprivileged program. (A
summary of the authorization mechanisms
is given in the figure "Summary of DAS
Authorization Mechanisms.") The DAS
authorization mechanisms are intended
for use by programs considered to be
semiprivileged, that is, programs which are executed in the problem state but
which may be authorized to use addi­
tional capabilities. With these
authorization controls, a hierarchy of
programs may be established, with
programs at a higher level having a
greater degree of privilege or authority
than programs at a lower level. The
range of functions available at each
level, and the ability to transfer
control from a lower to a higher level,
are specified in tables which are
managed by the control program.
Programming Note The DAS authorization mechanisms are
defined such that if zeros are placed in
the previously unassigned control­
register positions, a problem program
attempting to use the semiprivileged
instructions causes a privileged­
operation or special-operation exception
to be recognized.
Mode Reguirements
Most of the DAS instructions can be
executed only with DAT on. PROGRAM CALL and PROGRAM TRANSFER are valid only in
the primary-space mode. When a DAS
instruction is executed in an invalid
translation mode, a special-operation
exception is recognized. PROGRAM TRANSFER specifies a new value
for the problem-state bit in the PSW.
If a program in the problem state
attempts to execute PROGRAM TRANSFER and
set the supervisor state, a privileged­
operation exception is recognized.
Extraction-Authority Control The extraction-authority-control bit is
located in bit position 4 of control
register O. In the problem state, bit 4
must be one to allow completion of these
instructions: EXTRACT PRIMARY ASN EXTRACT SECONDARY ASN INSERT ADDRESS SPACE CONTROL INSERT PSW KEY INSERT VIRTUAL STORAGE KEY Otherwise, a privileged-operation excep­
tion is recognized. The extraction­
authority-control bit is not examined in
the supervisor state. Chapter 5. Program Execution 5-17
PSW-Key Mask The PSW-key mask consists of bits 0-15 in control register 3. These bits are
used in the problem state to control
which keys and entry points are author­
ized for the program. The PSW-key mask
is modified by PROGRAM CALL and PROGRAM TRANSFER and is loaded by LOAD ADDRESS SPACE PARAMETERS. The PSW-key mask is
used in the problem state to control the
following: The PSW-key values that can be set
by means of the instruction SET PSW KEY FROM ADDRESS.
The PSW-key values that are valid
for the three move instructions
that specify a second access key: MOVE TO PRIMARY, MOVE TO SECONDARY, and MOVE WITH KEY. The entry points which can be
called by means of PROGRAM CALL.
In this case, the PSW-key mask is
ANDed with the authorization key
mask in the entry-table entry, and,
if the result is zero, the program
is not authorized.
When an instruction in the problem state
attempts to use a key not authorized by
the PSW-key mask, a privileged-operation
exception is recognized. The same
action is taken when an instruction in
the problem state attempts to call an
entry not authorized by the PSW-key mask. The PSW-key mask is not examined
in the supervisor state, all keys and
entry points being valid.
Secondary-Space Control
Bit 5 of control register 0 is the
secondary-space-control bit. This bit provides a mechanism whereby the control
program can indicate whether or not the
secondary segment table has been estab­
lished. Bit 5 must be one to allow
completion of these instructions: MOVE to PRIMARY MOVE TO SECONDARY SET ADDRESS SPACE CONTROL Otherwise, a special-operation exception
is recognized. The secondary-space­
control bit is examined in both the
problem and supervisor states.
Subsystem-Linkage Control
Bit 0 of control register 5 is the
subsystem-linkage-control bit. Bit 0 must be one to allow completion of these
instructions:
5-18 System/370 Principles of Operation PROGRAM CALL PROGRAM TRANSFER Otherwise, a special-operation exception
is recognized. The subsystem-linkage­
control bit is examined in both the
problem and supervisor states and
controls both the space-switching and
current-primary versions of the
instructions.
ASN-Translation Control
Bit 12 of control register 14 is the
ASN-translation-control bit. This bit
provides a mechanism whereby the control
program can indicate whether ASH trans­
lation may occur while a particular
program is being executed. Bit 12 must
be one to allow completion of these
instructions: LOAD ADDRESS SPACE PARAMETERS SET SECONDARY ASN PROGRAM CALL with space switching PROGRAM TRANSFER with space switch-
ing Otherwise, a special-operation exception
is recognized. The ASN-translation­
control bit is examined in both the
problem and supervisor states.
Authorization Index The authorization index is contained in
bits 0-15 of control register 4. The
authorization index is associated with
the primary address space and is loaded
along with the PASN when PROGRAM CALL
with space switching, PROGRAM TRANSFER
with space switching, or LOAD ADDRESS SPACE PARAMETERS is executed. The
authorization index is used to determine
whether a program is authorized to
establish a particular address space. A
program may be authorized to establish
the address space as a secondary-address
space, as a primary-address space, or
both. The authorization index is exam­
ined in both the problem and supervisor
states.
Associated with each address space is an
authority table. The authorization
index is used to select an entry in the
authority table. Each entry contains
two bits, which indicate whether the
program with that authorization index is
permitted to establish the address space
as a primary address space, as a second­
ary address space, or both.
The instruction SET SECONDARY ASH with
space switching uses the authorization
index to test the secondary-authority
bit in the authority-table entry to
Previous Page Next Page