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 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 ESAME, all ASTEs are 64 bytes in length, CR0.15 does not apply. However, the ESAME ASTE is slightly different than the ESA/390 ASTE. In the ESAME build of CP, we need both the ESAME ASTE mapping (for host ASTEs and ESAME 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, the fields ASTSTD (390 build only) and ASTASCE (ESAME build only) are 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' 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' Authority table length in word 1 0004 4 Signed 2 ASTAX Authorization Index 0006 6 Signed 2 ASTATL Authority Table Length Bits 64 through 127 of the ASTE are defined differently for ESA/390 ASTEs than for ESAME ASTEs. For the 390 build of CP, we only need the 390 definition (obviously). However, for the ESAME build of CP, we need *BOTH* the 390 and ESAME definitions, with different names, to be able to handle both 390 and ESAME 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' Space-Switch-Event Control 0009 9 Bitstring 3 * Bytes 1-3 000C 12 Bitstring 1 ASTLTDB0 Byte 0 1... .... ASTLTDSL X'80' Subsystem-Linkage Control 000D 13 Bitstring 3 * Bytes 1-3 .* .******************************** ***************************** .* ESAME ASTE bits 64 through 127 .******************************** ***************************** .* .* 0010 16 Signed 4 ASTALD Access-List Designation 0014 20 Signed 4 ASTSN ASTE Sequence Number .... .... ASTSNJM X'80000000' 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 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 ESAME ASTEs: * ************************************************************* * ESA/390 ASTE bits 192 through 223 * ************************************************************* * * ESA/390 ASTE bits 192 through 223 are reserved. 0018 24 Signed 4 * Reserved for IBM use .* .* 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' This ASTE is inactive 001D 29 Bitstring 1 * (3) Place holder End of the architected ASTE field definitions. The following field definitions map the CP usage area in the second 32 bytes of the architected ASTE definition. These bytes are architected as "reserved for possible future extensions and should contain all zeros", but are not checked for zeros in current implementations. They are not technically available for programming (that is, CP) use, but we use them anyway, since it's not enforced. 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. 0028 40 Bitstring 24 * 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' 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' Bits must be zero 0006 6 Bitstring 1 * Bits 0 through 7 0007 7 Bitstring 1 ASTATLB1 Byte 1 .... 1111 ASTATLZ X'0F' 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 | ASTATL | * +---------------------------+-------------+-------------+ * 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 | ASTALD | ASTSN | * +---------------------------+------+--------------------+ * 18 |///////////////////////////|:STAT |////////////////////| * +---------------------------+------+--------------------+ * 20 | ASTASTEO | ASTSCRSN | * +---------------------------+---------------------------+ * 28 |///////////////////////////////////////////////////////| * =///////////////////////////////////////////////////////= * |///////////////////////////////////////////////////////| * +-------------------------------------------------------+ * 40 * *** Overlay for ASTLTD 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 ASTASTEO 0020 ASTATL 0006 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 0028 00000002 ASTEASIT 0020 ASTEID 0020 ASTEID1 0020 ASTEID2 0024 ASTEXALG 0000 00000040 ASTINACT 001C 80 ASTINV 0000 80 ASTLEN 0028 00000040 ASTLTD 000C ASTLTDB0 000C ASTLTDSL 000C 80 ASTPRGM 001C ASTSCRSN 0024 ASTSIZE 0028 00000008 ASTSN 0014 ASTSNJM 0014 00 ASTSNMAX 0014 000ASTSN ASTSTAT 001C ASTSTD 0008 ASTSTDB0 0008 ASTSTDSS 0008 80 ASTW0 0000 ASTW1 0004
Last updated on 5 Jun 2001 at 12:57:57 EDT.
Copyright IBM Corporation, 1990, 2001