ALCBK | Back to Index page

| Prolog Control Block Contents ALCBK DSECT Storage Layout Cross Reference (Contains links to field and bit definitions) |
Programming Interface Information: This information is NOT intended to be used as Programming Interfaces of z/VM.

ALCBK Prolog | Top of page

     NAME       : HCPALCBK
     DESCRIPTION: Access-List Control Block
     DSECT      : ALCBK
     FUNCTION   : This DSECT maps the control block used to manage an
                  ESA/370 access list.
     LOCATED BY : ALEALCBK in the second access-list entry of an access
                  list built by CP (the one with ALEN=1).
     CREATED BY : HCPALMCR when an access list is created.
     DELETED BY : HCPALMDS when an access list is destroyed.
     RELOCATION CONSIDERATIONS : None
     NOTES      : Serialization of the access-list depends on whether the
                  list is the CP-use access list, or a guest-use access
                  list:
                  For the CP-use access list:
                  - An ALE is validated using CDSG.
                  - If no ALE is available, the ATTACH task is
                  suspended to await an available entry.  The
                  queue of deferred tasks is anchored in ALCDEFRQ.
                  - The deferred task at the head of the queue is
                  driven on a subsequent DETACH.
                  - ALCDEFRQ and ALCFREE (count of available ALEs)
                  are in the same doubleword, and are modified
                  using CSG.  This technique closes a window where
                  an ATTACH task is in the process of deferring,
                  while a DETACH is in progress.
                  - Since multiple tasks can be deferred, the
                  ALCLOCK is obtained when manipulating the
                  ALCDEFRQ queue.
                  For a guest-use access list:
                  - The ALCLOCK controls all changes to the ALCBK.

ALCBK Control Block Content | Top of page

     ALCBK DSECT
    Top of page

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      ALCBK          Access-List Control Block
                                      block.
    0000    0 Address      4 ALCALD         Address of access-list
                                            designation.
    0004    4 Address      4 ALCAL          Address of access list
    0008    8 Address      4 ALCOWNER       Address of VMDBK which owns the
                                            access list.
    000C   12 Signed       4 *              Reserved for IBM use
    0010   16 Address      4 ALCSPIBK       Anchor for chain of SPIBKs
                                            defining what address spaces may
                                            be attached to this access list.
                                            This is serialized by the
                                            space-permission-manager lock
                                            (RSASPMLK in HCPRSMCM).
    0014   20 Signed       4 *              Reserved for IBM use.
    0018   24 Dbl-Word     8 ALCLOCK (3)    Lockword for access-list-control
                                            lock.
    0030   48 Signed       4 ALCALSIZ       Size of access list, in bytes.
    0034   52 Signed       4 ALCMAXSZ       Largest permitted size of access
                                            list, in bytes.
    0038   56 Signed       8 ALCCSDWD (0)   Queue hdr and available count.
                                            Serialized with CSG for the
                                            CP-use access list. See ALCBK
                                            prolog for details.
    0038   56 Address      4 ALCDEFRQ       Anchor for queue of tasks adding
                                            entries to the CP-use AL which
                                            have been deferred because the
                                            CP-use access list is full.
    003C   60 Signed       4 ALCFREE        Number of ALEs in the invalid
                                            state (not including ALENs 0 and
                                            1). This is the number of ALEs
                                            available for allocation.
              00000040       ALCLEN         *-ALCBK Length in bytes of ALCBK.
              00000008       ALCSIZE        (ALCLEN+7)/8 Size in doublewords
                                            of an ALCBK

ALCBK Storage Layout | Top of page

    *** ALCBK - Access-List Control Block
    *
    *     +---------------------------+---------------------------+
    *   0 |          ALCALD           |          ALCAL            |
    *     +---------------------------+---------------------------+
    *   8 |         ALCOWNER          |///////////////////////////|
    *     +---------------------------+---------------------------+
    *  10 |         ALCSPIBK          |///////////////////////////|
    *     +---------------------------+---------------------------+
    *  18 |                                                       |
    *     =                       ALCLOCK                         =
    *     |                                                       |
    *     +---------------------------+---------------------------+
    *  30 |         ALCALSIZ          |         ALCMAXSZ          |
    *     +---------------------------+---------------------------+
    *  38 |         ALCDEFRQ          |         ALCFREE           |
    *     +---------------------------+---------------------------+
    *  40
    *
    *** ALCBK - Access-List Control Block

ALCBK Cross Reference | Top of page

    Symbol         Dspl Value
    -------------- ---- -----
    ALCAL          0004
    ALCALD         0000
    ALCALSIZ       0030
    ALCCSDWD       0038
    ALCDEFRQ       0038
    ALCFREE        003C
    ALCLEN         003C 00000040
    ALCLOCK        0018
    ALCMAXSZ       0034
    ALCOWNER       0008
    ALCSIZE        003C 00000008
    ALCSPIBK       0010

This information is based on z/VM 7.2.0 Last updated on 24 Jun 2020 at 09:26:50 EDT.
Copyright IBM Corporation, 1990, 2020