PGM64 Back to Index page
 
Prolog 
Control Block Contents 
   PGM64 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.

 
  PGM64 Control Block Content Top of page
 

 PGM64 DSECT Top of page
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure PGM64 Page Management Block 0000 0 Bitstring 1 PGM64PG0 (4096) First page of PGMBK 1000 4096 Bitstring 1 PGM64PG1 (4096) Second page of PGMBK 00002000 PGMGBKLN (*-PGM64) Size of PGMBK in bytes 00000400 PGMGBKSZ (*-PGM64+7)/8 Size of PGMBK in DWs 0000 0 Dbl-Word 8 PGMGMISC (128) Miscellaneous PGMBK fields. Contains fields global to the entire PGMBK and/or the entire megabyte of virtual storage. 0400 1024 Signed 4 PGMGPAUX (256) Auxiliary page status table - contains 256 4 byte entries each corresponding to one PTE/PGSTE/ASATE set (VPGBK). Currently used to hold pin overflow counts. Each entry is mapped by PGAUX in HCPPGSTE COPY. 0800 2048 Dbl-Word 8 PGMGPGTB (256) Page-Table - contains 256 8 byte Page-Table Entries. Each entry is used to describe 4K of virtual storage. The complete 256 entry table describes 1 Megabyte of host virtual storage (whether guest or system owned). The architected definition of a Page-Table entry is contained in the HCPPAGTE COPY file. 00000008 PGMGPTEL 8 Length of a z/Architecture Page- Table Entry (in bytes) 0000F000 PGMPTEM X'F000' NILL mask to isolate the PGMBK HRA given the PTE address 0000000C PGMPTES 12 SRL/SLL number of bits to shift to give the PGMBK address 0000F800 PGMPTOM X'F800' NILL mask to isolate the PTO HRA given the PTE address 0000000B PGMPTOS 11 SRL/SLL number of bits to shift to give the PTO address 00000808 PGMGPTBP1 PGMGPGTB+PGMGPTEL Offset of the 2nd entry in the PAGTB, used for an MVC to copy the first entry thru the rest of the first eighth of the PAGTB 00000900 PGMGPTBP2 PGMGPGTB+PGMGPTEL*32 2nd eighth of the PAGTB 00000A00 PGMGPTBP3 PGMGPGTB+PGMGPTEL*64 3rd eighth of the PAGTB 00000B00 PGMGPTBP4 PGMGPGTB+PGMGPTEL*96 4th eighth of the PAGTB 00000C00 PGMGPTBP5 PGMGPGTB+PGMGPTEL*128 5th eighth of the PAGTB 00000D00 PGMGPTBP6 PGMGPGTB+PGMGPTEL*160 6th eighth of the PAGTB 00000E00 PGMGPTBP7 PGMGPGTB+PGMGPTEL*192 7th eighth of the PAGTB 00000F00 PGMGPTBP8 PGMGPGTB+PGMGPTEL*224 8th eighth of the PAGTB 1000 4096 Dbl-Word 8 PGMGPSTB (256) Page Status Table. 256 entries, 8 bytes per entry. Each entry describes the status of one 4K page of host virtual storage. The definition of a Page Status Table entry is contained in the HCPPGSTE COPY file. 00001000 PGMGPSTO PGMGPSTB-PGM64 Offset of PGSTB in PGMBK 00000008 PGMGPSTL 8 Length of a z/Architecture page status table entry (in bytes) 00001008 PGMGPSTP1 PGMGPSTB+PGMGPSTL Offset of the 2nd entry in the PGSTB, used for an MVC to copy the first entry thru the rest of the first eighth of the PGSTB 00001100 PGMGPSTP2 PGMGPSTB+PGMGPSTL*32 2nd eighth of the PGSTB 00001200 PGMGPSTP3 PGMGPSTB+PGMGPSTL*64 3rd eighth of the PGSTB 00001300 PGMGPSTP4 PGMGPSTB+PGMGPSTL*96 4th eighth of the PGSTB 00001400 PGMGPSTP5 PGMGPSTB+PGMGPSTL*128 5th eighth of the PGSTB 00001500 PGMGPSTP6 PGMGPSTB+PGMGPSTL*160 6th eighth of the PGSTB 00001600 PGMGPSTP7 PGMGPSTB+PGMGPSTL*192 7th eighth of the PGSTB 00001700 PGMGPSTP8 PGMGPSTB+PGMGPSTL*224 8th eighth of the PGSTB 1800 6144 Dbl-Word 8 PGMGASAT (256) Auxiliary Storage Address Table. 256 entries, 8 bytes per entry. ENTRY. EACH ENTRY IS THE LOCATION ON AUXILIARY STORAGE WHERE THE VIRTUAL STORAGE IS BACKED UP. THE DEFINITION OF ONE ENTRY IS CONTAINED IN THE HCPASATE COPY FILE. 00000008 PGMGASAL 8 Length of a z/Architecture ASA table entry (in bytes) 00001800 PGMGASAO PGMGASAT-PGM64 Offset of ASATB in PGMBK 00001000 PGMGPABS *-PGMGPSTB Size of PGSTB and ASATB in bytes 0000 0 Signed 4 PGMGVM VMDBK address of PGMBK owner - SYSTEM VMDBK address for an NSS/DCSS shared segment PGBMBK, the SNTBK can be found via PGMGASCB-> ASCBK field ASCSNTBK. For exclusive imbedded NSS/DCSS segments, points to the user VMDBK. 0004 4 Signed 4 * Reserved for IBM use 0008 8 Dbl-Word 8 PGMGVIRT Virtual address of segment described by this block (contains Rx and Sx only) 0010 16 Signed 4 PGMGMIGP Count of pages currently being migrated from xstore to DASD 0014 20 Address 4 PGMGDEFA Deferred page translations queue anchor (points to CPEBK or 0). Serialized by PGMPDQLK 0018 24 Signed 4 PGMPDQLK Page serialization deferral queue lock. Serializes the PGMBK page serialization deferral queue based at PGMGDEFA. Lock is obtained and released by HCPPTEDR and HCPPTERD as needed. HCPPGSER with IFHELD=MUSTHAVE invokes HCPPTEDR when deferring. HCPPGSER with REDRIVE=YES invokes HCPPTERD when redriving. Note that PGMPDQLK does NOT serialize the PGMBK itself in any way. The high order halfword of the PGMGFRMC field is used (via the HCPLKPGM and HCPULPGM macros) to lock the PGMBK itself into storage. 001C 28 Signed 4 PGMGSNTU Count of users sharing this NSS shared segment megabyte 0020 32 Bitstring 1 PGMGSTAT Status indicators 1... .... PGMGSVSE X'80' PGMGSVSE PGMBK represents storage for an NSS/DCSS saved segment. PGMGSVSE is set for all NSS/DCSS PGMBKs regardless of whether the segment is imbedded shared or exclusive. .1.. .... PGMGIGRT X'40' PGMGIGRT PGMBK WAS PAGED IN DURING XSTORE MIGRATION ..1. .... PGMNOOWN X'20' PGMNOOWN Indicates PGMBK is no-owned 0021 33 Bitstring 1 * Reserved for IBM use 0022 34 Signed 2 * Reserved for IBM use 0024 36 Signed 4 PGMGXSTC Count of PTEs with pages in xstore 0028 40 Dbl-Word 8 PGMNOQFP No-owned PGMBK queue forward pointer 0030 48 Dbl-Word 8 PGMNOQBP No-owned PGMBK queue backward pointer 0038 56 Address 8 PGMGALTP HRA of the alternate PGMBK which contains the source alternate PTEs for any target alternate PTEs (with PGSALTPT set) in this PGMBK. 0040 64 Signed 4 PGMNOLCK No-owned processing lock. This lock is obtained via CS, but it is not a typical CS spin lock. The only task which can spin obtaining PGMNOLCK is the full segment release "make no-owned" processing in HCPHPCPR. Other places which obtain the lock may not spin, and must defer or skip any processing of resources in the PGMBK if the lock cannot be obtained without spinning. 0044 68 Signed 4 PGMGASCB ASCBK address. For imbedded NSS/DCSS segments, points to the NSS/DCSS dummy ASCBK if the segment is loaded shared, but points to the user ASCBK if the segment is loaded exclusive (either defined as exclusive, or loaded exclusive via the LOADNSHR subcode). 0048 72 Signed 4 PGMGFRMC Frames in use count in low-order halfword and PGMBK lock count in high-order halfword. Update counts using Compare and Swap logic. 004C 76 Signed 4 PGMGMPEB Address of the Minidisk Pool Extent block for converting a PRBN ASA into CCHHR. 0050 80 Address 8 * Reserved for IBM use. 0058 88 Address 8 * Reserved for IBM use. 0060 96 Signed 4 PGMPSSQ Queue for PTE sequential serialization (See HCPPSSPR for details.) 0064 100 Bitstring 1 PGMPSSQL Spin lock for PGMPSSQ X'00' - Lock not held 0065 101 Bitstring 3 * Reserved for IBM use. 0068 104 Signed 4 PGMGP4EX Virtual Free Storage Manager virtual address of saved copy of the original PGSTB/ASATB for this megabyte - only used in NSS/DCSS saved segment STLBK PGMBKs for megabytes which contain shared writeable pages. The saved ASATEs point to the original spool slots, so that original shared writeable page contents can be provided for non-shared loads. Must be zero in normal user PGMBKs or STLBK PGMBKs which do not contain any shared writeable pages. 006C 108 Signed 4 PGMGMTAR Migrate target age last used against this PGMBK 0070 112 Address 8 PGMGSTE 64-bit HRA of the STE associated with this PGMBK (valid only for "live" PGMBKs associated with attached STEs; may be zero otherwise). In pageable PGMBKs, is only reliable if the PGMBK is resident and attached to the STE and at least a share of VMDPTIL is held or if serialization (VMDPTIL and/or PTRM PTE PCL) has been held continuously since the STE was invalidated (to keep the segment table from being moved). Must be set to the current STE address whenever the STE is validated, and must be relocated for any valid STEs and/or valid PTRM PTEs whenever a segment table is moved. For imbedded NSS/DCSS segments, points to the NSS/DCSS STLTE if the segment is loaded shared, but points to the user segment table STE if the segment is loaded exclusive (either defined as exclusive, or loaded exclusive via the LOADNSHR subcode). 0078 120 Address 8 PGMGPPTE Address of PTRM PTE when PGMBK is connected to a PTRM space. 0080 128 Dbl-Word 8 PGMCRTOD TOD clock value at which this PGMBK was first created 0088 136 Dbl-Word 8 PGMSVTOD TOD clock value at which the SEGTE for this pageable PGMBK was last validated. May differ from PGMPVTOD. 0090 144 Dbl-Word 8 PGMPVTOD TOD clock value at which the PTRM PTE for this pageable PGMBK was last validated. May differ from PGMSVTOD. 0098 152 Dbl-Word 8 PGMSITOD TOD clock value at which the SEGTE for this pageable PGMBK was invalidated (for either paging or release). Should always equal PGMPITOD. 00A0 160 Dbl-Word 8 PGMPITOD TOD clock value at which the PTRM PTE for this pageable PGMBK was last invalidated. Should always equal PGMSITOD. 00A8 168 Address 8 * Reserved for IBM use. 00B0 176 Address 8 * Reserved for IBM use. 00B8 184 Signed 4 * Reserved for IBM use. 00BC 188 Signed 4 * Reserved for IBM use. 00C0 192 Signed 4 * Reserved for IBM use. 00C4 196 Signed 4 * Reserved for IBM use. 00C8 200 Signed 4 * Reserved for IBM use. 00CC 204 Signed 4 * Reserved for IBM use. 00D0 208 Signed 4 PGMPTEWT Count of outstanding asynchronous requests for PTE processing during VMRELOCATE. Incremented before stacked request. Decremented when PTE serialization queue is processed by HCPRLMPQ. Serialized by using compare and swap logic. 00D4 212 Signed 4 PGMPIURL Count of pages "in use" for VMRELOCATE. Incremented when PTE serialization is obtained or deferred by live guest relocation. Decremented when PTE serialization is released by LGR. Serialized by using compare and swap logic. A non-zero value in this field will prevent the PGMBK from being stolen. 00D8 216 Signed 2 PGMACTCT Number of resident frames in the UFO active list 00DA 218 Signed 2 PGMIBRCT Number of resident frames in the UFO IBR list 00DC 220 Signed 2 PGMAGLCT Number of resident frames on the global IBR Aging List 00DE 222 Signed 2 * Reserved for IBM use 00E0 224 Bitstring 32 PGMPTEDF 1 bit per page; '1' indicates that at least one task, chained on the PGMGDEFA chain, is deferred trying to get serialization for the associated page. 00000100 PGMrsrv *,(128*8-(*-PGMGMISC)) 0100 256 Bitstring 1 * (768) Reserved for IBM use. 0400 1024 Bitstring 1 * (0) Where it ends 00000400 PGMMSCLN (*-PGMGVM) Size of common area in bytes
 
 
  PGM64 Storage Layout Top of page
 
          
*** PGM64 - Page Management Block
*
*     +-------------------------------------------------------+
*   0 |                                                       |
*     =                       PGM64PG0                        =
*     |                                                       |
*     +-------------------------------------------------------+
*1000 |                                                       |
*     =                       PGM64PG1                        =
*     |                                                       |
*     +-------------------------------------------------------+
*2000
*
*** PGM64 - Page Management Block
          
*** Overlay for PGM64PG0 in PGM64
*
*     +-------------------------------------------------------+
*   0 |                                                       |
*     =                       PGMGMISC                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 400 |                                                       |
*     =                       PGMGPAUX                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 800 |                                                       |
*     =                       PGMGPGTB                        =
*     |                                                       |
*     +-------------------------------------------------------+
*1000
*
*** Overlay for PGM64PG0 in PGM64
          
*** Overlay for PGM64PG1 in PGM64
*
*     +-------------------------------------------------------+
*1000 |                                                       |
*     =                       PGMGPSTB                        =
*     |                                                       |
*     +-------------------------------------------------------+
*1800 |                                                       |
*     =                       PGMGASAT                        =
*     |                                                       |
*     +-------------------------------------------------------+
*2000
*
*** Overlay for PGM64PG1 in PGM64
          
*** Overlay for PGMGMISC in PGM64
*
*     +---------------------------+---------------------------+
*   0 |          PGMGVM           |///////////////////////////|
*     +---------------------------+---------------------------+
*   8 |                       PGMGVIRT                        |
*     +---------------------------+---------------------------+
*  10 |         PGMGMIGP          |         PGMGDEFA          |
*     +---------------------------+---------------------------+
*  18 |         PGMPDQLK          |         PGMGSNTU          |
*     +------+------+-------------+---------------------------+
*  20 |:GSTAT|//////|/////////////|         PGMGXSTC          |
*     +------+------+-------------+---------------------------+
*  28 |                       PGMNOQFP                        |
*     +-------------------------------------------------------+
*  30 |                       PGMNOQBP                        |
*     +-------------------------------------------------------+
*  38 |                       PGMGALTP                        |
*     +---------------------------+---------------------------+
*  40 |         PGMNOLCK          |         PGMGASCB          |
*     +---------------------------+---------------------------+
*  48 |         PGMGFRMC          |         PGMGMPEB          |
*     +---------------------------+---------------------------+
*  50 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  58 |///////////////////////////////////////////////////////|
*     +---------------------------+------+--------------------+
*  60 |         PGMPSSQ           |:PSSQL|////////////////////|
*     +---------------------------+------+--------------------+
*  68 |         PGMGP4EX          |         PGMGMTAR          |
*     +---------------------------+---------------------------+
*  70 |                       PGMGSTE                         |
*     +-------------------------------------------------------+
*  78 |                       PGMGPPTE                        |
*     +-------------------------------------------------------+
*  80 |                       PGMCRTOD                        |
*     +-------------------------------------------------------+
*  88 |                       PGMSVTOD                        |
*     +-------------------------------------------------------+
*  90 |                       PGMPVTOD                        |
*     +-------------------------------------------------------+
*  98 |                       PGMSITOD                        |
*     +-------------------------------------------------------+
*  A0 |                       PGMPITOD                        |
*     +-------------------------------------------------------+
*  A8 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  B0 |///////////////////////////////////////////////////////|
*     +---------------------------+---------------------------+
*  B8 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
*  C0 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
*  C8 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
*  D0 |         PGMPTEWT          |         PGMPIURL          |
*     +-------------+-------------+-------------+-------------+
*  D8 |  PGMACTCT   |  PGMIBRCT   |  PGMAGLCT   |/////////////|
*     +-------------+-------------+-------------+-------------+
*  E0 |                                                       |
*     =                       PGMPTEDF                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 100 |///////////////////////////////////////////////////////|
*     =///////////////////////////////////////////////////////=
*     |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
* 400
*
*** Overlay for PGMGMISC in PGM64
 
 
  PGM64 Cross Reference Top of page
 
 
Symbol         Dspl Value
-------------- ---- -----
PGMrsrv        00E0 00000100
PGMACTCT       00D8
PGMAGLCT       00DC
PGMCRTOD       0080
PGMGALTP       0038
PGMGASAL       1800 00000008
PGMGASAO       1800 00001800
PGMGASAT       1800
PGMGASCB       0044
PGMGBKLN       1000 00002000
PGMGBKSZ       1000 00000400
PGMGDEFA       0014
PGMGFRMC       0048
PGMGIGRT       0020 40
PGMGMIGP       0010
PGMGMISC       0000
PGMGMPEB       004C
PGMGMTAR       006C
PGMGPABS       1800 00001000
PGMGPAUX       0400
PGMGPGTB       0800
PGMGPPTE       0078
PGMGPSTB       1000
PGMGPSTL       1000 00000008
PGMGPSTO       1000 00001000
PGMGPSTP1      1000 00001008
PGMGPSTP2      1000 00001100
PGMGPSTP3      1000 00001200
PGMGPSTP4      1000 00001300
PGMGPSTP5      1000 00001400
PGMGPSTP6      1000 00001500
PGMGPSTP7      1000 00001600
PGMGPSTP8      1000 00001700
PGMGPTBP1      0800 00000808
PGMGPTBP2      0800 00000900
PGMGPTBP3      0800 00000A00
PGMGPTBP4      0800 00000B00
PGMGPTBP5      0800 00000C00
PGMGPTBP6      0800 00000D00
PGMGPTBP7      0800 00000E00
PGMGPTBP8      0800 00000F00
PGMGPTEL       0800 00000008
PGMGP4EX       0068
PGMGSNTU       001C
PGMGSTAT       0020
PGMGSTE        0070
PGMGSVSE       0020 80
PGMGVIRT       0008
PGMGVM         0000
PGMGXSTC       0024
PGMIBRCT       00DA
PGMMSCLN       0400 00000400
PGMNOLCK       0040
PGMNOOWN       0020 20
PGMNOQBP       0030
PGMNOQFP       0028
PGMPDQLK       0018
PGMPITOD       00A0
PGMPIURL       00D4
PGMPSSQ        0060
PGMPSSQL       0064
PGMPTEDF       00E0
PGMPTEM        0800 0000F000
PGMPTES        0800 0000000C
PGMPTEWT       00D0
PGMPTOM        0800 0000F800
PGMPTOS        0800 0000000B
PGMPVTOD       0090
PGMSITOD       0098
PGMSVTOD       0088
PGM64PG0       0000
PGM64PG1       1000
 
This information is based on z/VM 7.3.0 Last updated on 22 Jun 2022 at 15:53:33 EDT.
Copyright IBM Corporation, 1990, 2022