|
Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
ASTE
Control Block Contents
ASTE DSECT
Cross Reference (Contains links to field and bit definitions)
ASTE Prolog
Name : HCPASTE
Description: ASN-Second-Table Entry
DSECT : ASTE
Function : The ASTE maps the storage associated with one entry
of an ASN-Second Table. The entry is used in ASN
and AR translation, and is also used to access
other information associated with an address space.
Notes : In ESA/390, CR0.15 is the address space control
bit. If set the ASTE length is 64 bytes.
Otherwise, the length is 16 bytes. The
first 16 bytes are mapped identically
regardless of the length.
Notes : In z/Arch, all ASTEs are 64 bytes in length,
CR0.15 does not apply. However, the z/Arch ASTE
is slightly different from the ESA/390 ASTE.
We need both the
z/Arch ASTE mapping (for host ASTEs and z/Arch
guest ASTEs) and the ESA/390 ASTE mapping (for
ESA/390 guest ASTEs). Since most of the ASTE
definition is identical for both ASTE formats,
the entire definition is not duplicated.
Instead, only the 3 words ( words 2, 3 and 6 )
which differ between the two formats are
defined separately.
Located by : ASN and AR translation
ASTEs for address spaces built by CP are located by
the ASCASTE pointer of the associated ASCBK.
An ASTE is part of an ASN second table (AST). The
beginning of the table is pointed to by:
- An ASN first table entry (AFTE)
The AST is indexed into by an ASN second index (ASX).
An ASTE may be directly pointed to by:
- An access list entry (ALE)
- CR5 (when the ASTE is the primary ASTE)
- An entry table entry (ETE)
There is also an ASTE within MWBK.
Created by : ASTEs for address spaces built by CP are
initialized by HCPASMCR, though the storage
is managed by HCPVCB.
Within MWBK: HCPMWPBL - MAS work area build
The ASTE is also used to map guest ASN Second Table
Entries in guest storage.
Deleted by : Once storage has been allocated as an ASTE for an
address space built by CP, it can never be used for
anything else. Though it may no longer represent an
ASTE for an active address space (HCPASMDS "destroys"
a space), the ASTE itself will be held in reserve
until it can be given out again as an ASTE (with a
different ASTE sequence number). The popular phrase
is "ASTEs are forever".
Within MWBK: HCPMWPDL - MAS work area delete
Serialized : ASTEs for address spaces built by CP are generally
serialized by the ASCBK lock in the associated ASCBK.
Addtionally, for V=V guests, ASTASCE is
serialized by the owning virtual configuration's
VMDPTIL (in the base VMDBK) held exclusive (to
change).
The ASTALD field is serialized by the ALCBK lock in
ALCBK associated with the access list, if there is a
primary-space access list.
Within MWBK: See MWBK prologue.
When used to map guest storage, the user of the
DSECT is responsible for serialization.
ASTE Control Block Content
ASTE DSECT
Hex Dec Type/Val Lng Label (dup) Comments
---- ---- --------- ---- -------------- --------
0000 0 Structure ASTE ASN-Second-Table Entry
00000010 ASTBSALG 16 Basic ASTE must be aligned on
16-byte boundary.
00000040 ASTEXALG 64 Extended ASTE must be aligned
on 64-byte boundary.
0000 0 Bitstring 64 * (0)
0000 0 Bitstring 16 ASTBASI (0)
0000 0 Signed 4 ASTW0 (0) Word 0 of the ASTE
000ASTW0 ASTATOM X'7FFFFFFC' ASTATOM Authority
table origin in word 0
0000 0 Signed 4 ASTATO Authority-Table Origin
0004 4 Signed 4 ASTW1 (0) Word 1 of the ASTE
000ASTW1 ASTATLM X'0000FFF0' ASTATLM Authority
table length in word 1
0004 4 Signed 2 ASTAX Authorization Index
0006 6 Signed 2 ASTATL (0) Authority Table Length
0006 6 Bitstring 1 ASTATL_0 Byte 0
0007 7 Bitstring 1 ASTATL_1 Byte 1
.... ..1. ASTCA X'02' ASTCA Controlled ASN
(ESAME)
.... ...1 ASTRA X'01' ASTRA Reusable ASN (ESAME)
Bits 64 through 127 of the ASTE are defined differently
for ESA/390 ASTEs than for z/Arch ASTEs.
We need *BOTH* the
390 and z/Arch definitions, with different names, to be
able to handle both 390 and z/Arch guests.
ESA/390 ASTE bits 64 through 127:
- Bits 64 through 95 contain the ESA/390 STD
- Bits 96 through 127 contain the LTD
0008 8 Signed 4 ASTSTD ESA/390 ASTE Segment-Table
Designation
000C 12 Signed 4 ASTLTD ESA/390 ASTE Linkage-Table
Designation
0008 8 Bitstring 1 ASTSTDB0 Byte 0
1... .... ASTSTDSS X'80' ASTSTDSS Space-Switch-Event
Control
0009 9 Bitstring 3 * Bytes 1-3
000C 12 Bitstring 1 ASTLTDB0 Byte 0
1... .... ASTLTDSL X'80' ASTLTDSL Subsystem-Linkage
Control
000D 13 Bitstring 3 * Bytes 1-3
* z/Arch ASTE bits 64 through 127
z/Arch ASTE bits 64 through 127 contain the 64-bit ASCE
(Address-Space-Control Element), which has either an RTD
(Region-Table Designation) or a z/Arch STD. The z/Arch
ASTE LTD is moved to bits 192-223.
0008 8 Dbl-Word 8 ASTASCE z/Arch ASTE Address-Space-
Control Element
0008 8 Signed 4 ASTASCE0 Word 0 of z/Arch ASTE ASCE
000C 12 Signed 4 ASTASCE1 Word 1 of z/Arch ASTE ASCE
0010 16 Signed 4 ASTALD Access-List Designation
0014 20 Signed 4 ASTSN ASTE Sequence Number
.... .... ASTSNJM X'80000000' ASTSNJM J-bit. When
this bit is set in ASTEs built by
CP, the ASTE is in a state of
flux. This bit is set to force
sequence number mismatches by ART
and i-ASIT certification.
000ASTSN ASTSNMAX X'7FFFFFFF'-1000 ASTSNMAX Maximum
sequence ASTSN value. Free
storage will no longer give out
an ASTE when ASTSN exceeds this
value.
Bits 192 through 223 of the ASTE are defined differently
for ESA/390 ASTEs than for z/Arch ASTEs:
ESAME ASTE bits 192 through 223 contain the LTD or LFTD.
0018 24 Signed 4 ASTGLTD z/Arch ASTE Linkage-Table
Designation if ASN-and-LX-Reuse
is not enabled
0018 24 Signed 4 ASTGLFTD ESAME ASTE Linkage-First-Table
Designation if ASN-and-LX-Reuse
is enabled
001C 28 Signed 4 ASTPRGM (0) Reserved for use by programming
Note: The storage for some ASTEs
is obtained/released by the
verifiable control block manager.
It uses this field to chain
inactive ASTEs together. Bit zero
indicates whether the block is
active (0) or inactive (1).
001C 28 Bitstring 1 ASTSTAT Status of this ASTE (bit 0 only)
1... .... ASTINACT X'80' ASTINACT This ASTE is
inactive
001D 29 Bitstring 1 * (3) Place holder
The following field definitions map the CP usage area
in the next 8 bytes of the architected ASTE definition.
These bytes are architected as "Available for programming".
0020 32 Dbl-Word 8 ASTEID (0) ASTE identifier In CP usage, this
is an e-ASIT.
0020 32 Dbl-Word 8 ASTEASIT (0) CP usage: ASTE e-ASIT.
0020 32 Signed 4 ASTEID1 (0) ASTE identifier, word 1. In CP
usage, this is the ASTE origin.
0020 32 Signed 4 ASTASTEO CP usage: ASTE origin.
0024 36 Signed 4 ASTEID2 (0) ASTE identifier, word 2. In CP
usage, this is the space creation
sequence number.
0024 36 Signed 4 ASTSCRSN CP usage: ASTE space creation
sequence number.
When ASN-and-LX-Reuse is enabled,
ESAME bytes 44-47 contain the ASTE Instance Number.
0028 40 Bitstring 4 * Reserved for IBM use
002C 44 Signed 4 ASTIN ASTE Instance Number Used during
ASN translation when
ASN-and-LX-Reuse facility is
enabled (z/Arch guest). Reserved
for IBM use (390 guest).
0030 48 Bitstring 16 * Reserved for IBM use
00000040 ASTLEN *-ASTE Entry size in bytes
00000002 ASTBSIZE (ASTBLEN+7)/8 Size in doublewords
of the ASTBASI
00000008 ASTSIZE (ASTLEN+7)/8 Size in doublewords
of the ASTE
ASTE Redefinition areas
0000 0 Bitstring 1 ASTATOB0 Byte 0
1... .... ASTINV X'80' ASTINV ASX-invalid bit,
Address space is not available
0001 1 Bitstring 2 * Bits 8 through 23
0003 3 Bitstring 1 ASTATOB3 Byte 3
.... ..11 ASTAT370 X'03' ASTAT370 Bits must be zero
0006 6 Bitstring 1 * Bits 0 through 7
0007 7 Bitstring 1 ASTATLB1 Byte 1
.... 1111 ASTATLZ X'0F' ASTATLZ Bits must be zero
Note : An active ASTE should always have bit zero = 0.
Do NOT change bit zero of ASTASCBK.
See ASTPRGM for more details.
001C 28 Address 4 ASTASCBK Address of ASCBK in ASTEs built
by CP.
ASTE Storage Layout
*** ASTE - ASN-Second-Table Entry
*
* +---------------------------+-------------+------+------+
* 0 | ASTATO | ASTAX |:ATL_0|:ATL_1|
* +---------------------------+-------------+------+------+
* 8 | ASTSTD | ASTLTD |
* +---------------------------+---------------------------+
* 10
*
*** ASTE - ASN-Second-Table Entry
*** Overlay for ASTSTD in ASTE
*
* +------+--------------------+
* 8 |:STDB0|////////////////////| C
* +------+--------------------+
*
*** Overlay for ASTSTD in ASTE
*** Overlay for ASTLTD in ASTE
*
* +------+--------------------+
* 8 ... C |:LTDB0|////////////////////|
* +------+--------------------+
* 10
*
*** Overlay for ASTLTD in ASTE
*** Overlay for ASTSTD in ASTE
*
* +-------------------------------------------------------+
* 8 | ASTASCE |
* +-------------------------------------------------------+
* 10
*
*** Overlay for ASTSTD in ASTE
*** Overlay for ASTASCE in ASTE
*
* +---------------------------+---------------------------+
* 8 | ASTASCE0 | ASTASCE1 |
* +---------------------------+---------------------------+
* 10 | ASTALD | ASTSN |
* +---------------------------+---------------------------+
* 18 | ASTGLTD | 1C
* +---------------------------+
*
*** Overlay for ASTASCE in ASTE
*** Overlay for ASTGLTD in ASTE
*
* +---------------------------+------+--------------------+
* 18 | ASTGLFTD |:STAT |////////////////////|
* +---------------------------+------+--------------------+
* 20 | ASTASTEO | ASTSCRSN |
* +---------------------------+---------------------------+
* 28 |///////////////////////////| ASTIN |
* +---------------------------+---------------------------+
* 30 |///////////////////////////////////////////////////////|
* |///////////////////////////////////////////////////////|
* +-------------------------------------------------------+
* 40
*
*** Overlay for ASTGLTD in ASTE
*** Overlay for ASTATO in ASTE
*
* +------+-------------+------+
* 0 |:ATOB0|/////////////|:ATOB3| 4
* +------+-------------+------+
*
*** Overlay for ASTATO in ASTE
*** Overlay for ASTATL in ASTE
*
* +------+------+
* 0 ... 6 |//////|:ATLB1|
* +------+------+
* 8
*
*** Overlay for ASTATL in ASTE
*** Overlay for ASTPRGM in ASTE
*
* +---------------------------+
* 18 ... 1C | ASTASCBK |
* +---------------------------+
* 20
*
*** Overlay for ASTPRGM in ASTE
ASTE Cross Reference
Symbol Dspl Value -------------- ---- ----- ASTALD 0010 ASTASCBK 001C ASTASCE 0008 ASTASCE0 0008 ASTASCE1 000C ASTASTEO 0020 ASTATL 0006 ASTATL_0 0006 ASTATL_1 0007 ASTATLB1 0007 ASTATLM 0004 000ASTW1 ASTATLZ 0007 0F ASTATO 0000 ASTATOB0 0000 ASTATOB3 0003 ASTATOM 0000 000ASTW0 ASTAT370 0003 03 ASTAX 0004 ASTBASI 0000 ASTBSALG 0000 00000010 ASTBSIZE 0030 00000002 ASTCA 0007 02 ASTEASIT 0020 ASTEID 0020 ASTEID1 0020 ASTEID2 0024 ASTEXALG 0000 00000040 ASTGLFTD 0018 ASTGLTD 0018 ASTIN 002C ASTINACT 001C 80 ASTINV 0000 80 ASTLEN 0030 00000040 ASTLTD 000C ASTLTDB0 000C ASTLTDSL 000C 80 ASTPRGM 001C ASTRA 0007 01 ASTSCRSN 0024 ASTSIZE 0030 00000008 ASTSN 0014 ASTSNJM 0014 00 ASTSNMAX 0014 000ASTSN ASTSTAT 001C ASTSTD 0008 ASTSTDB0 0008 ASTSTDSS 0008 80 ASTW0 0000 ASTW1 0004
Copyright IBM Corporation, 1990, 2007