Programming Interface Information: This information is NOT intended to be
used as Programming Interfaces of z/VM.

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 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

This information is based on z/VM V4R1.0.
Last updated on 5 Jun 2001 at 12:56:39 EDT.
Copyright IBM Corporation, 1990, 2001