|
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM. |
SPIBK
Control Block Contents
SPIBK DSECT
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
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
Last updated on 5 Jun 2001 at 16:42:18 EDT.
Copyright IBM Corporation, 1990, 2001