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 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
Copyright IBM Corporation, 1990, 2001