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