Programming Interface Information: This information is NOT intended to be
used as Programming Interfaces of VM/ESA. It is to be used for diagnosis only.

ASCBK

Prolog  

Control Block Contents  

ASCBK DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  

ASCBK Prolog

 NAME       : HCPASCBK
 DESCRIPTION: Address-Space-Control Block
 DSECT      : ASCBK
 FUNCTION   : Contain information about an address space.
              The ASCBK is essentially CP's software extension
              to the ASN-second-table entry (ASTE) describing
              the address space.
 LOCATED BY : ASTASCBK field of the ASTE defining the address space
 CREATED BY : HCPASMCR
 DELETED BY : HCPASMDS
 SERIALIZED : Many fields in the ASCBK are static for the life of
              the address space.  Most of the rest of them are
              serialized by the ASCBK lock, the lockword for which
              is at ASCLOCK.
              Various fields are serialized by:
              - ASCBK lock (ASCLOCK)
              - MP Defer
              - Console-function mode
              - XSTSTATL
 COMMENTS   : The ASCBK must reside on a doubleword boundary.

 

ASCBK Control Block Content


ASCBK DSECT

Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure ASCBK Address-Space-Control Block Address space management area. This area contains fields used to manage and locate the address space itself. All fields in this area are serialized by the ASCBK lock (the lockword at ASCLOCK) unless specifically noted otherwise. 0000 0 Address 4 ASCOFPNT Forward pointer to next ASCBK in chain of ASCBKs anchored from VMDASCBK of the owner's base VMDBK. This chain defines what address spaces are owned by the VMDBK. SYSTEM-owned spaces are anchored from the SYSTEM VMDBK. This field is serialized by the owner's ASCBK-queue lock (VMDASCLK). The chain is ended by a forward pointer of zero. 0004 4 Address 4 ASCSFPNT Forward pointer to next ASCBK in the chain of ASCBKs anchored from RSASHRSP in HCPRSM. This is the chain of shareable address spaces, and is serialized by the lock at RSASHRLK. The chain is ended by a forward pointer of zero. 0008 8 Address 4 ASCSBPNT Backward pointer to previous ASCBK in the chain of ASCBKs anchored from RSASHRSP in HCPRSM. The ASCSBPNT field of the first ASCBK in the chain is zeros. 000C 12 Signed 4 ASCSEQNO r-access sequence number, incremented on address space reset to match the ASTE sequence number (ASTSN). r-access i-ASITs (which use this sequence number) are sensitive to address space reset operations. 0010 16 Character 32 ASCSPCID (0) Space identification: 0010 16 Character 8 ASCUSRID Owning userid, padded on right with blanks. 0018 24 Character 24 ASCNAME Address space name, padded on right with blanks. 0030 48 Character 8 * Reserved for IBM use 0038 56 Dbl-Word 8 ASCEASIT (0) ASCBK e-ASIT. 0038 56 Address 4 ASCASTE Pointer to ASN-Second-Table Entry (ASTE) for the address space. Serialized by task ownership at creation, thereafter unchanged until space is destroyed. 003C 60 Signed 4 ASCSCRSN Address space creation sequence number. 0040 64 Address 4 ASCSPIBK Pointer to chain of SPIBKs designating which users are permitted to attach this space to their guest-use access list. This field is serialized by the space-permission- manager lock (RSASPMLK in HCPRSMCM). 0044 68 Address 4 ASCOWNER Pointer to (base) VMDBK of owning virtual configuration, or SYSTEM VMDBK if CP owned. 0048 72 Dbl-Word 8 ASCLOCK (3) Lockword for shared/exclusive defer lock, protecting fields in the ASCBK and ASTE. For System Utility address spaces managed by HCPVAMAP and HCPVAMDP and HCPASURO, ASCLOCK exclusive is sufficient to invalidate a SEGTE without SEGTRANS. A share of ASCLOCK must be obtained *before* trying to obtain SEGTRANS when validating the SEGTE. 0060 96 Signed 4 ASCSSIZE Size of address space, in bytes. The highest address available in the address space is one less than this value. For guest primary address spaces, this is the addressable size, including any imbedded saved segments (similar to VMDGMSIZ). Note that this is similar to VMDSSIZE (the guest primary address space defined storage size) in units, but not necessarily in value. 0064 100 Bitstring 1 ASCSTATE Flags indicating current state Serialized by holding ASCLOCK exclusive, the owning VMDBK's PTIL exclusive, AND by Console Function mode on the owning user. 1... .... ASCSHARE X'80' At least one configuration other than the owner has permission to access this address space. .1.. .... ASCPUBLC X'40' Any user may attach this address space to their guest-use access list for read/only access. 0065 101 Bitstring 1 ASCTYPE Code indicating type of address space These are assigned as bits, but only one bit will ever be set. This is done to allow code to test for combinations with one instruction. 1... .... ASCTUSER X'80' A user's base address space .1.. .... ASCTDATA X'40' A data space created by user request through diagnose x'23C' ..1. .... ASCTSYSX X'20' A system execution address space ...1 .... ASCTSYSU X'10' A system utility address space .... .1.. ASCTSNT X'04' An SNTBK "address space" 0066 102 Bitstring 1 ASCFRMCD Frame use code for this address space 0067 103 Bitstring 1 ASCKEY Bits 0-7 are the key with which to initialize pages in the address space. 0068 104 Signed 4 ASCIACCT Count of i-access pages in the address space which are locked or under (possible loss of control) translation through this ASCBK. 006C 108 Signed 4 ASCRACCT Count of r-access pages in the address space which are locked or under (possible loss of control) translation through this ASCBK. 0070 112 Address 4 ASCTYPTR Pointer to address space type specific control block (PTRMB for PTRM address spaces). The address space type specific control block must itself contain a CP use Address space Allocation block (CAABK) at offset zero. 0074 116 Bitstring 1 ASCFOLST Flags indicating what Frame Owned list (Owning VMDBK UFO, or Shared) frames are to be put on. 1... .... ASCOUFO X'80' Frames for this address space are to be placed on the owning VMDBK's UFO list. .1.. .... ASCSFO X'40' Frames for this address space are to be placed on the Shared Frame Owned (SFO) list. WARNING: There is code in various places that checks the address space sub-type flag value without first checking address space type flag, so be very careful to avoid duplication when defining new sub-types. 0075 117 Bitstring 1 ASCSUTYP Flags indicating address space sub-type. 1... .... ASCUPTRM X'80' A PTRM address space (sub-type of type ASCTSYSU). .1.. .... ASCUPREF X'40' A preferred (V=R or V=F) address space (sub-type of type ASCTUSER). ..1. .... ASCUVDSK X'20' A VDISK address space (sub-type of type ASCTSYSU). ...1 .... ASCUFTC X'10' A full track cache address space (sub-type of ASCTSYSU) .... 1... ASCUCONN X'08' The Connectivity (aka ISFC) address space (sub-type of type ASCTSYSU). 0076 118 Bitstring 1 ASCSTSIZ Segment table size in STL units 00000001 ASCSTS32 X'01' Segment table size = 128 bytes, addressing up to 32M, maximum virtual address = x'01FFFFFF'. For guest primary address space ASCBKs, ASCSTSIZ = ASCSTS32 indicates that the segment table resides in the VMDLSEG field at the beginning of the guest base VMDBK. Note: ASCSTS32 == STDSTL01 Notes : ASCSTSIZ may have values in between ASCSTS32 (32M) and ASCSTS1G (1G). In these cases the value represents the size of the segment table when a segment table is allocated from a free storage frame. The remainder of the real storage frame is in use for GUESTPERM type VMDBK free storage. ..11 1111 ASCSTS1G X'3F' Segment table size = 4096 bytes, addressing up to 1024M, maximum virtual address = x'3FFFFFFF'. Note: ASCSTS1G == STDSTL3F Notes : ASCSTSIZ may have values in between ASCSTS1G (1G) and ASCSTS2G (2G). In these cases the value represents the size of the segment table when the remainder of the second frame of the segment table (past the end of the contiguous segment table) was allocated from a free storage frame. The remainder of the second real storage frame is in use for GUESTPERM type VMDBK free storage. .111 1111 ASCSTS2G X'7F' Segment table size = 8192 bytes, addressing up to 2048M, maximum virtual address = x'7FFFFFFF'. Note: ASCSTS2G == STDSTL7F 0077 119 Bitstring 1 * Reserved for IBM use 0078 120 Signed 4 ASCMSO Main Storage Origin for preferred guest (V=R or V=F) base address space. Only valid when ASCTYPE = ASCTUSER and ASCSUTYP = ASCUPREF. 007C 124 Signed 4 ASCCTSPI Count of users permitted to this address space. Equal to the number of SPIBKs on the ASCSPIBK queue. Serialized by the Space Permission Manager lock (RSASPMLK in HCPRSAMP). End of Address Space management area Address space statistics area. Current usage information for this address space 0080 128 Signed 4 ASCCTPRS Count of resident pages 0084 132 Signed 4 ASCCTPLK Count of locked pages 0088 136 Signed 4 ASCCTPGS Count of paging slots. 008C 140 Signed 4 ASCCTXBK Count of xstore blocks in this address space. XSTSTATL must be held to update this field. Cumulative historical counts, when address space is private 0090 144 Signed 4 ASCCPPST Count of private address space pages stolen 0094 148 Signed 4 ASCCPPGR Count of private address space pages read from DASD. 0098 152 Signed 4 ASCCPPGW Count of private address space pages written to DASD. 009C 156 Signed 4 ASCCPXRD Count of private address space pages read from XSTORE. 00A0 160 Signed 4 ASCCPXWT Count of private address space pages written to XSTORE. 00A4 164 Signed 4 ASCCPMIG Count of private address space pages migrated by CP from XSTORE to DASD. Cumulative historical counts, when address space is shared 00A8 168 Signed 4 ASCPTRSH Cumulative count of page translations for shared pages. 00AC 172 Signed 4 ASCCSPST Count of shared address space pages stolen 00B0 176 Signed 4 ASCCSPGR Count of shared address space pages read from DASD. 00B4 180 Signed 4 ASCCSPGW Count of shared address space pages written to DASD. 00B8 184 Signed 4 ASCCSXRD Count of shared address space pages read from XSTORE. 00BC 188 Signed 4 ASCCSXWT Count of shared address space pages written to XSTORE. 00C0 192 Signed 4 ASCCSMIG Count of shared address space pages migrated by CP from XSTORE to DASD. 00C4 196 Signed 4 * Reserved for IBM use End of address space statistics area. The following 4 fields are serialized by the available list replenishment demand scan test and set lock. 00C8 200 Address 4 ASC1STFR Address of the first FRMTE that was stolen from this address space in this iteration of the steal task. Each iteration will initialize this field to FF's and the FF's in a FRMTE's FRMFPNT indicates that it is the last FRMTE on the list. 00CC 204 Address 4 ASCSTLNX Address of the next ASCBK for a space stolen from in this iteration of the steal task. Each iteration will initialize this field to FF's. When the FRMTE's are all sorted (by address space), the last ASCBK in this chain will have FF's in this field. 00D0 208 Address 4 ASC1STPG Address of the first PGMBK that was stolen from this address space in this iteration of the steal task. Each iteration will initialize this field to FF's and the FF's in a PGMBK's PGMSTNXT indicates that it is the last PGMBK on the list. 00D4 212 Address 4 ASCLSTPG Address of the last PGMBK that was stolen from this address space in this iteration of the steal task. Each iteration will initialize this field to FF's and the FF's in a PGMBK's PGMSTNXT indicates that it is the last PGMBK on the list. 00D8 216 Signed 4 ASCITRCT Count of in-process i-access manual translations in the address space. 00DC 220 Signed 4 ASCRTRCT Count of in-process r-access manual translations in the address space. 00E0 224 Signed 4 ASC$END (0) End of control block 000000E0 ASCLEN *-ASCBK Length of ASCBK in bytes 0000001C ASCSIZE (ASCLEN+7)/8 Size of ASCBK in doublewords

 

ASCBK Storage Layout

*** ASCBK - Address-Space-Control Block
*
*     +---------------------------+---------------------------+
*   0 |         ASCOFPNT          |         ASCSFPNT          |
*     +---------------------------+---------------------------+
*   8 |         ASCSBPNT          |         ASCSEQNO          |
*     +---------------------------+---------------------------+
*  10 |                       ASCUSRID                        |
*     +-------------------------------------------------------+
*  18 |                                                       |
*     =                       ASCNAME                         =
*     |                                                       |
*     +-------------------------------------------------------+
*  30 |///////////////////////////////////////////////////////|
*     +---------------------------+---------------------------+
*  38 |         ASCASTE           |         ASCSCRSN          |
*     +---------------------------+---------------------------+
*  40 |         ASCSPIBK          |         ASCOWNER          |
*     +---------------------------+---------------------------+
*  48 |                                                       |
*     =                       ASCLOCK                         =
*     |                                                       |
*     +---------------------------+------+------+------+------+
*  60 |         ASCSSIZE          |:STATE|:TYPE |:FRMCD|ASCKEY|
*     +---------------------------+------+------+------+------+
*  68 |         ASCIACCT          |         ASCRACCT          |
*     +---------------------------+------+------+------+------+
*  70 |         ASCTYPTR          |:FOLST|:SUTYP|:STSIZ|//////|
*     +---------------------------+------+------+------+------+
*  78 |          ASCMSO           |         ASCCTSPI          |
*     +---------------------------+---------------------------+
*  80 |         ASCCTPRS          |         ASCCTPLK          |
*     +---------------------------+---------------------------+
*  88 |         ASCCTPGS          |         ASCCTXBK          |
*     +---------------------------+---------------------------+
*  90 |         ASCCPPST          |         ASCCPPGR          |
*     +---------------------------+---------------------------+
*  98 |         ASCCPPGW          |         ASCCPXRD          |
*     +---------------------------+---------------------------+
*  A0 |         ASCCPXWT          |         ASCCPMIG          |
*     +---------------------------+---------------------------+
*  A8 |         ASCPTRSH          |         ASCCSPST          |
*     +---------------------------+---------------------------+
*  B0 |         ASCCSPGR          |         ASCCSPGW          |
*     +---------------------------+---------------------------+
*  B8 |         ASCCSXRD          |         ASCCSXWT          |
*     +---------------------------+---------------------------+
*  C0 |         ASCCSMIG          |///////////////////////////|
*     +---------------------------+---------------------------+
*  C8 |         ASC1STFR          |         ASCSTLNX          |
*     +---------------------------+---------------------------+
*  D0 |         ASC1STPG          |         ASCLSTPG          |
*     +---------------------------+---------------------------+
*  D8 |         ASCITRCT          |         ASCRTRCT          |
*     +---------------------------+---------------------------+
*  E0 |                                                       |
*     =                       ASC$END                         =
*     |                                                       |
*     +-------------------------------------------------------+
*
*** ASCBK - Address-Space-Control Block

 

ASCBK Cross Reference

(contains links to field and bit definitions)
Symbol         Dspl Value
-------------- ---- -----

ASC$END 00E0

ASCASTE 0038

ASCCPMIG 00A4

ASCCPPGR 0094

ASCCPPGW 0098

ASCCPPST 0090

ASCCPXRD 009C

ASCCPXWT 00A0

ASCCSMIG 00C0

ASCCSPGR 00B0

ASCCSPGW 00B4

ASCCSPST 00AC

ASCCSXRD 00B8

ASCCSXWT 00BC

ASCCTPGS 0088

ASCCTPLK 0084

ASCCTPRS 0080

ASCCTSPI 007C

ASCCTXBK 008C

ASCEASIT 0038

ASCFOLST 0074

ASCFRMCD 0066

ASCIACCT 0068

ASCITRCT 00D8

ASCKEY 0067

ASCLEN 00E0 000000E0

ASCLOCK 0048

ASCLSTPG 00D4

ASCMSO 0078

ASCNAME 0018

ASCOFPNT 0000

ASCOUFO 0074 80

ASCOWNER 0044

ASCPTRSH 00A8

ASCPUBLC 0064 40

ASCRACCT 006C

ASCRTRCT 00DC

ASCSBPNT 0008

ASCSCRSN 003C

ASCSEQNO 000C

ASCSFO 0074 40

ASCSFPNT 0004

ASCSHARE 0064 80

ASCSIZE 00E0 0000001C

ASCSPCID 0010

ASCSPIBK 0040

ASCSSIZE 0060

ASCSTATE 0064

ASCSTLNX 00CC

ASCSTSIZ 0076

ASCSTS1G 0076 3F

ASCSTS2G 0076 7F

ASCSTS32 0076 00000001

ASCSUTYP 0075

ASCTDATA 0065 40

ASCTSNT 0065 04

ASCTSYSU 0065 10

ASCTSYSX 0065 20

ASCTUSER 0065 80

ASCTYPE 0065

ASCTYPTR 0070

ASCUCONN 0075 08

ASCUFTC 0075 10

ASCUPREF 0075 40

ASCUPTRM 0075 80

ASCUSRID 0010

ASCUVDSK 0075 20

ASC1STFR 00C8

ASC1STPG 00D0


This information is based on VM/ESA 2.4.0.
Last updated on 3 Aug 1999 at 11:40:43 EDT.
Copyright IBM Corporation, 1990, 1999