PC-NUMBER TRANSLATION PC-number translation is the process of
translating the 20-bit PC number to
locate an entry-table entry as part of
the execution of the PROGRAM CALL instruction. To perform this trans­
lation, the 20-bit PC number is divided
into two fields. Bits 12-23 are the
linkage index (LX), and bits 24-31 are
the entry index (EX). The effective address, from which the PC-number is
taken, has the following format:
1////////////1 LX EX
o 12 24 31
The translation is performed by means of
two tables: a linkage table and an
entry table. Both of these tables
reside in real storage. The linkage­ table designation resides in control
register 5. The entry table is desig­
nated by means of a linkage-table entry. PC-NUMBER TRANSLATION CONTROL PC-number translation is controlled by means of the linkage-table designation
in control register 5. The register has the following format:
Linkage-Table Origin lTL
o 1 8 25 31
Subsystem-Linkage Control (V): Bit 0 of
control register 5 is subsystem­
linkage-control bit. Bit 0 must be one
to allow completion of these
instructions: PROGRAM CALL PROGRAM TRANSFER Otherwise, a special-operation exception is recognized. The system-linkage­
control bit is examined in both the problem and the supervisor states and
controls both the space-switching and
current-primary versions of the instructions. linkaqe-Table Origin: Bits 8-24 of
control register 5, with seven zeros appended on the right, form a 24-bit
real address that designates the begin­ ning of the linkage table. With
extended real addressing, the linkage­
table origin is still a 24-bit real address and is extended on the left with
zeros.
Linkage-Table lenqtb Bits 25-31
of control register 5 specify the length
of the linkage table in units of 128
bytes, thus making the length of the linkage table variable in multiples of
32 four-byte entries. The length of the
linkage table, in units of 128 bytes, is
one more than the value in bit positions
25-31. The linkage-table length is
compared against the leftmost seven bits
of the linkage-index portion of the PC number to determine whether the linkage
index designates an entry within the
linkage table. PC-NUMBER TRANSLATION TABLES
The PC-number translation process
consists in a two-level lookup using two
tables: a linkage table and an entry
table. These tables reside in real
storage.
Linkage-Table Entries
The entry fetched from the linkage table
has the following format: 018 Entry-Table Origin ETL
26 31
The fields in the linkage-table entry are allocated as follows:
LX Invalid Bit (I): Bit 0 controls
whether the entry -table associated with
the linkage-table entry is available.
When the bit is zero, PC-number trans­
lation proceeds by using the linkage­
table entry. When the bit is one, an
lX-translation exception is recognized.
Entry-Table Origin: Bits 8-25, with six =eros appended on the right, form a
24-bit real address that designates the
beginning of the entry table. With
extended real addressing, the entry­
table origin is still a 24-bit real
address and is extended on the left with
zeros.
Entry-Table Length (ETL): Bits 26-31
specify the length of the entry table in
units of 64 bytes, thus making the entry
table variable in multiples of four
16-byte entries. The length of the
entry table, in units of 64 bytes, is
one more than the value in bit positions
26-31. The entry-table length is
compared against the leftmost six bits
of the entry index to determine whether
the entry index designates an entry
within the entry table. Chapter 5. Program Execution 5-21
Bits 1-7 of the linkage-table entry must
be zeros; otherwise, a PC-translation­ specification exception is recognized.
Entry-Table Entries
The entry fetched from the entry table
is 16 bytes in length and has the
following format:
Auth Key Mask ASN 0 16 31 1000000001 Entry Instr Addr 1 P I 32 40 63
Entry Parameter
64 95 1 Entry Key Mask 1////////////////1 96 112 127
The fields in the entry-table entry are
allocated as follows:
Authorization Mask: Bits 0-15 are
used to verify whether the program issu­
ing the PROGRAM CALL instruction, when
in the problem state, is authorized to
call this entry point. The authori­ zation key mask and the current PSW-key
mask in control register 3 are ANDed,
and the result is checked for all zeros.
If the result is all zeros, a
privileged-operation exception is recog­
nized. The test is not performed in the
supervisor state. ASH: Bits 16-31 specify whether a PC-ss O;-PC-cp is to occur. When bits 16-31
are zeros, a PC-cp is specified. When
bits 16-31 are not all zeros, a PC-ss is
specified, and the bits contain the ASN
that replaces the primary ASH. Instruction Address: Bits 40-62, with a zero appended on the right, form
the instruction address which replaces
the instruction address in the PSW as
part of the PROGRAM CALL operation. Problem State (P): Bit 63
replaces the problem-state bit, bit 15
of the current PSW, as part of the PROGRAM CALL operation.
5-22 System/370 Principles of Operation
Entry Parameter: Bits 64-95 are placed
in general register 4.
Entry Key Mask: Bits 96-111 are ORed
into the PSW-key mask in control regis­
ter 3 as part of the PROGRAM CALL opera­
tion.
Bits 32-39 of the entry-table entry must
be zeros; otherwise, a PC-translation­ specification exception is recognized.
Programming Note
The entry parameter is intended to
provide the called program with an address which can be depended upon and
used as the basis of addressability in
locating necessary information which may
be environment-dependent. The parameter may be appropriately changed for each environment by setting UP different
entry tables. The alternative-­
obtaining this information from the
calling program -- may require extensive
validity checking or may present an
integrity exposure. PC-HUMBER-TRANSLATION PROCESS The translation of the PC number is
performed by means of a linkage table and entry table both of which reside in real storage.
For the purposes of PC-number trans­
lation, the 20-bit PC number is divided
into two parts: the leftmost 12 bits
are called the linkage index (LX), and
the rightmost eight bits are called the
entry index (EX). The LX is used to
select an entry from the linkage table,
the starting address and length of which
are specified by the contents of the
linkage-table designation in control
register 5. This entry designates the
entry table to be used. The EX field of
the PC number is then used to select an entry from the entry table.
When, for the purposes of PC-number translation, accesses are made to main
storage to fetch entries from the link­ age table and entry table, key­
controlled protection does not apply.
The PC-number-translation process is
shown in the figure "PC-Number Trans­
lation."
Previous Page Next Page