Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM. |
ASCBK
Control Block Contents
ASCBK DSECT
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 Address 4 ASCSNTBK Pointer to owning SNTBK (ASCTSNT=1) 0034 52 Bitstring 4 * 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. .* .* ESA/390 build only code 0060 96 Dbl-Word 8 * (0) 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. *NOTE** ASCSSIZE, in ESA/390, is similar to, *NOTE** but not identical to, ASCHYBYT in *NOTE** ESAME. 0064 100 Signed 4 * Reserved for IBM use 0068 104 Signed 4 * Reserved for IBM use 006C 108 Signed 4 * Reserved for IBM use 0070 112 Signed 4 * Reserved for IBM use .* .* End of ESA/390 build only code, .* 0074 116 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. 0075 117 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' The system-execution address space ...1 .... ASCTSYSU X'10' A system utility address space .... .1.. ASCTSNT X'04' An SNTBK "address space" .... ...1 ASMSHRLK X'01' RSMSHRLK is held exclusive by caller 1... .... ASMISOL8 X'80' Process an "isolate" request by the owner of the address space. .1.. .... ASMRESET X'40' Process a reset on the owner of the address space. ..1. .... ASMDESTR X'20' Process a destroy operation. 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' The system-execution address space ...1 .... ASCTSYSU X'10' A system utility address space .... .1.. ASCTSNT X'04' An SNTBK "address space" .... ...1 ASMSHRLK X'01' RSMSHRLK is held exclusive by caller 1... .... ASMISOL8 X'80' Process an "isolate" request by the owner of the address space. .1.. .... ASMRESET X'40' Process a reset on the owner of the address space. ..1. .... ASMDESTR X'20' Process a destroy operation. 0076 118 Bitstring 1 ASCFRMCD Frame use code for this address space 0077 119 Bitstring 1 ASCKEY Bits 0-7 are the key with which to initialize pages in the address space. 0078 120 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. 007C 124 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. 0080 128 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. 0084 132 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. 0085 133 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). .... .1.. ASCUIDNT X'04' The System-Identity address space, which identity maps all storage below 2G with DAT tables (sub-type of ASCTSYSU). 0086 134 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 0000000* * : 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. 00000000 * 0000003F ASCSTS1G X'3F' Segment table size = 4096 bytes, addressing up to 1024M, maximum virtual address = x'3FFFFFFF'. Note: ASCSTS1G == STDSTL3F 0000000* * : 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. 00000000 * 0000007F ASCSTS2G X'7F' Segment table size = 8192 bytes, addressing up to 2048M, maximum virtual address = x'7FFFFFFF'. Note: ASCSTS2G == STDSTL7F 00000000 * 0087 135 Bitstring 1 * Reserved for IBM use 0088 136 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. 008C 140 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 0090 144 Signed 4 ASCCTPRS Count of resident pages < 2G 0094 148 Signed 4 ASCCTPLK Count of locked pages 0098 152 Signed 4 ASCCTPGS Count of paging slots. 009C 156 Signed 4 ASCCTXBK Count of xstore blocks in this address space. XSTSTATL must be held to update this field. 00A0 160 Signed 4 * Reserved for ASCCTPRG expansion 00A4 164 Signed 4 ASCCTPRG Count of resident pages >= 2G Cumulative historical counts, when address space is private 00A8 168 Signed 4 ASCCPPST Count of private address space pages stolen 00AC 172 Signed 4 ASCCPPGR Count of private address space pages read from DASD. 00B0 176 Signed 4 ASCCPPGW Count of private address space pages written to DASD. 00B4 180 Signed 4 ASCCPXRD Count of private address space pages read from XSTORE. 00B8 184 Signed 4 ASCCPXWT Count of private address space pages written to XSTORE. 00BC 188 Signed 4 ASCCPMIG Count of private address space pages migrated by CP from XSTORE to DASD. Cumulative historical counts, when address space is shared 00C0 192 Signed 4 ASCPTRSH Cumulative count of page translations for shared pages. 00C4 196 Signed 4 ASCCSPST Count of shared address space pages stolen 00C8 200 Signed 4 ASCCSPGR Count of shared address space pages read from DASD. 00CC 204 Signed 4 ASCCSPGW Count of shared address space pages written to DASD. 00D0 208 Signed 4 ASCCSXRD Count of shared address space pages read from XSTORE. 00D4 212 Signed 4 ASCCSXWT Count of shared address space pages written to XSTORE. 00D8 216 Signed 4 ASCCSMIG Count of shared address space pages migrated by CP from XSTORE to DASD. 00DC 220 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. 00E0 224 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. 00E4 228 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. 00E8 232 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. 00EC 236 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. 00F0 240 Signed 4 ASCITRCT Count of in-process i-access manual translations in the address space. 00F4 244 Signed 4 ASCRTRCT Count of in-process r-access manual translations in the address space. End of ASCBK 00F8 248 Signed 4 ASC$END (0) End of control block 000000F8 ASCLEN *-ASCBK Length of ASCBK in bytes 0000001F 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 | ASCSNTBK |///////////////////////////| * +---------------------------+---------------------------+ * 38 | ASCASTE | ASCSCRSN | * +---------------------------+---------------------------+ * 40 | ASCSPIBK | ASCOWNER | * +---------------------------+---------------------------+ * 48 | | * = ASCLOCK = * | | * +---------------------------+---------------------------+ * 60 | ASCSSIZE |///////////////////////////| * +---------------------------+---------------------------+ * 68 |///////////////////////////|///////////////////////////| * +---------------------------+------+------+------+------+ * 70 |///////////////////////////|:STATE|:TYPE |:FRMCD|ASCKEY| * +---------------------------+------+------+------+------+ * 78 | ASCIACCT | ASCRACCT | * +---------------------------+------+------+------+------+ * 80 | ASCTYPTR |:FOLST|:SUTYP|:STSIZ|//////| * +---------------------------+------+------+------+------+ * 88 | ASCMSO | ASCCTSPI | * +---------------------------+---------------------------+ * 90 | ASCCTPRS | ASCCTPLK | * +---------------------------+---------------------------+ * 98 | ASCCTPGS | ASCCTXBK | * +---------------------------+---------------------------+ * A0 |///////////////////////////| ASCCTPRG | * +---------------------------+---------------------------+ * A8 | ASCCPPST | ASCCPPGR | * +---------------------------+---------------------------+ * B0 | ASCCPPGW | ASCCPXRD | * +---------------------------+---------------------------+ * B8 | ASCCPXWT | ASCCPMIG | * +---------------------------+---------------------------+ * C0 | ASCPTRSH | ASCCSPST | * +---------------------------+---------------------------+ * C8 | ASCCSPGR | ASCCSPGW | * +---------------------------+---------------------------+ * D0 | ASCCSXRD | ASCCSXWT | * +---------------------------+---------------------------+ * D8 | ASCCSMIG |///////////////////////////| * +---------------------------+---------------------------+ * E0 | ASC1STFR | ASCSTLNX | * +---------------------------+---------------------------+ * E8 | ASC1STPG | ASCLSTPG | * +---------------------------+---------------------------+ * F0 | ASCITRCT | ASCRTRCT | * +---------------------------+---------------------------+ * *** ASCBK - Address-Space-Control Block
ASCBK Cross Reference
Symbol Dspl Value -------------- ---- ----- * 0086 0000000* * 0086 00000000 * 0086 0000000* * 0086 00000000 * 0086 00000000 ASC$END 00F8 ASCASTE 0038 ASCCPMIG 00BC ASCCPPGR 00AC ASCCPPGW 00B0 ASCCPPST 00A8 ASCCPXRD 00B4 ASCCPXWT 00B8 ASCCSMIG 00D8 ASCCSPGR 00C8 ASCCSPGW 00CC ASCCSPST 00C4 ASCCSXRD 00D0 ASCCSXWT 00D4 ASCCTPGS 0098 ASCCTPLK 0094 ASCCTPRG 00A4 ASCCTPRS 0090 ASCCTSPI 008C ASCCTXBK 009C ASCEASIT 0038 ASCFOLST 0084 ASCFRMCD 0076 ASCIACCT 0078 ASCITRCT 00F0 ASCKEY 0077 ASCLEN 00F8 000000F8 ASCLOCK 0048 ASCLSTPG 00EC ASCMSO 0088 ASCNAME 0018 ASCOFPNT 0000 ASCOUFO 0084 80 ASCOWNER 0044 ASCPTRSH 00C0 ASCPUBLC 0074 40 ASCRACCT 007C ASCRTRCT 00F4 ASCSBPNT 0008 ASCSCRSN 003C ASCSEQNO 000C ASCSFO 0084 40 ASCSFPNT 0004 ASCSHARE 0074 80 ASCSIZE 00F8 0000001F ASCSNTBK 0030 ASCSPCID 0010 ASCSPIBK 0040 ASCSSIZE 0060 ASCSTATE 0074 ASCSTLNX 00E4 ASCSTSIZ 0086 ASCSTS1G 0086 0000003F ASCSTS2G 0086 0000007F ASCSTS32 0086 00000001 ASCSUTYP 0085 ASCTDATA 0075 40 ASCTDATA 0075 40 ASCTSNT 0075 04 ASCTSNT 0075 04 ASCTSYSU 0075 10 ASCTSYSU 0075 10 ASCTSYSX 0075 20 ASCTSYSX 0075 20 ASCTUSER 0075 80 ASCTUSER 0075 80 ASCTYPE 0075 ASCTYPTR 0080 ASCUCONN 0085 08 ASCUFTC 0085 10 ASCUIDNT 0085 04 ASCUPREF 0085 40 ASCUPTRM 0085 80 ASCUSRID 0010 ASCUVDSK 0085 20 ASC1STFR 00E0 ASC1STPG 00E8 ASMDESTR 0075 20 ASMDESTR 0075 20 ASMISOL8 0075 80 ASMISOL8 0075 80 ASMRESET 0075 40 ASMRESET 0075 40 ASMSHRLK 0075 01 ASMSHRLK 0075 01
Last updated on 5 Jun 2001 at 12:56:39 EDT.
Copyright IBM Corporation, 1990, 2001