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

#### SPIBK

Prolog

Control Block Contents
SPIBK DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### SPIBK Prolog

     NAME       : HCPSPIBK
     DESCRIPTION: Space Permission Information BlocK
     DSECT      : SPIBK
     FUNCTION   : Defines one address space's permission to
                  attach another address space to its access
                  list.
     LOCATED BY : ASCSPIBK  Pointer to chain of SPIBKs designating
                  which users are permitted to attach this
                  space to their guest-use access list.
                  ALCSPIBK  Anchor for chain of SPIBKs defining
                  which address spaces may be attached to
                  this guest-use access list.
     CREATED BY : HCPSPM - When the first permission for an access
                  list to access an address space is granted.
     DELETED BY : HCPSPM - When the last permission for an access
                  list to access an address space is revoked.
     SERIALIZED : All fields in this control block, as well
                  as the ASCSPIBK and ALCSPIBK fields in
                  the ASCBK and the ALCBK are serialized
                  by the Space-Permission-Manager lock,
                  RSASPMLK in HCPRSM.
     COMMENTS   : The allocation default for this control block
                  is 'VIRTUAL'. If the default is not overridden,
                  this control block comes from and is returned
                  to the virtual free storage CP utility address
                  space. Access register mode must be entered
                  in order to use this storage. The ALET for the
                  virtual free storage CP utility address space
                  resides in HCPSYSCM. If the TYPE= parameter is
                  overridden on the HCPGETST macro from virtual
                  to some other type (all other types are real)
                  or vice versa, the HCPRELST TYPE= parameter
                  MUST also be overridden.
                  Both the address space permission chain and
                  the access list permission chain are
                  doubly-linked. In both cases, the forward
                  pointer of the last element of the chain
                  is zero. However, the backward pointer
                  of the first element in the chain is also
                  zero, instead of pointing back to the ASCBK
                  or ALCBK anchor field. Since the ASCBKs and
                  ALCBKs are in real storage, their addresses
                  are real addresses and there would need to be
                  some way to determine when the anchor address
                  was reached in order to properly handle it.
                  To avoid dealing with that problem (since it's
                  not really critical that we take that last step
                  backward), we simply zero the backward pointer
                  of the first chain element.

#### SPIBK Control Block Content

#### SPIBK DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      SPIBK          Space Permission Information
                                            BlocK
    0000    0 Address      4 SPISPFOR       Space forward pointer to next
                                            SPIBK in chain defining what
                                            spaces are permitted to attach
                                            this space to their guest-use
                                            access list. Chain starts in an
                                            ASCBK.
    0004    4 Address      4 SPISPBAC       Backward pointer to a previous
                                            SPIBK on an ASCBK's chain.
    0008    8 Address      4 SPIALFOR       Access List forward pointer to
                                            next SPIBK in chain defining what
                                            spaces may be attached to this
                                            guest-use access list. Chain
                                            starts in ALCBK.
    000C   12 Address      4 SPIALBAC       Backward pointer to previous
                                            SPIBK on an ALCBK's chain.
         The following two fields are static while the SPIBK is chained
    0010   16 Address      4 SPIALCBK       The address of the ALCBK defining
                                            the access list which is
                                            permitted to attach the address
                                            space described by SPIASCBK.
    0014   20 Address      4 SPIASCBK       The address of the ASCBK defining
                                            the address space which may be
                                            attached to the the access list
                                            described by SPIALCBK.
    0018   24 Bitstring    1 SPIPERM        Permission flags
              1... ....      SPMDEBUG       X'80' Debug-type access is
                                            requested or permitted.
              .1.. ....      SPMPRGRW       X'40' Program-type read-write
                                            access is requested or permitted.
              ..1. ....      SPMPRGRO       X'20' Program-type read-only
                                            access is requested or permitted.
              ...1 ....      SPMPRGRD       X'10' Program-type read access is
                                            requested or permitted.
    0019   25 Bitstring    1 * (3)          Reserved for future IBM use
    001C   28 Signed       4 *              Reserved for future IBM use
              00000004       SPISIZE        (*-SPIBK+7)/8 Length of SPIBK in
                                            DWs

#### SPIBK Storage Layout

    *** SPIBK - Space Permission Information BlocK
    *
    *     +---------------------------+---------------------------+
    *   0 |         SPISPFOR          |         SPISPBAC          |
    *     +---------------------------+---------------------------+
    *   8 |         SPIALFOR          |         SPIALBAC          |
    *     +---------------------------+---------------------------+
    *  10 |         SPIALCBK          |         SPIASCBK          |
    *     +------+--------------------+---------------------------+
    *  18 |:PERM |////////////////////|///////////////////////////|
    *     +------+--------------------+---------------------------+
    *  20
    *
    *** SPIBK - Space Permission Information BlocK

#### SPIBK Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    SPIALBAC       000C
    SPIALCBK       0010
    SPIALFOR       0008
    SPIASCBK       0014
    SPIPERM        0018
    SPISIZE        001C 00000004
    SPISPBAC       0004
    SPISPFOR       0000
    SPMDEBUG       0018 80
    SPMPRGRD       0018 10
    SPMPRGRO       0018 20
    SPMPRGRW       0018 40

This information is based on z/VM V4R3.0. Last updated on 30 Apr 2002 at 17:41:57 EDT.
Copyright IBM Corporation, 1990, 2002