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

 
  VPG64 Control Block Content Top of page
 

 VPG64 DSECT Top of page
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure VPG64 VIRTUAL PAGE BLOCK 0000 0 Dbl-Word 8 VPGGPAG Page Table Entry 0008 8 Dbl-Word 8 VPGGNEXT (0) Address for next VPGBK 0008 8 Dbl-Word 8 * (255) 0800 2048 Dbl-Word 8 VPGGPGS Page Status Table Entry 0808 2056 Dbl-Word 8 * (255) 1000 4096 Dbl-Word 8 VPGGASA Auxiliary Storage Address Entry 1008 4104 Dbl-Word 8 * (255) Mapping for a PAG64 (PTE) 0000 0 Dbl-Word 8 VPGGPTE (0) VPGBK Page Table Entry 0000 0 Dbl-Word 8 VPGGPNTR Hardware Page Table Entry 0000 0 Signed 4 VPGGPTE0 Word 0 of PTE 0004 4 Signed 4 VPGGPTE1 Word 1 of PTE 0000 0 Signed 2 VPGGPLNK This field is used to point to the next free Page Table Entry available in this PGMBK (for non- Pageable PGMBK frames only - NPGM) which were previously deallocated. 0002 2 Signed 2 * Reserved for IBM use 0004 4 Signed 4 * Reserved for IBM use 0000 0 Signed 4 VPGGXSBN Xstore block number if PTE is not valid and PGSXSTOR is b'1' 0004 4 Bitstring 1 VPGGXSTS (20) Xstore time stamp (lowest 20 bits) 0018 24 Bitstring 1 * (4) Reserved for IBM use 001C 28 Bitstring 1 * Reserved for IBM use 0000 0 Signed 4 * Bits 0-31 of PFRA 0004 4 Signed 2 * Bits 32-47 of PFRA 0006 6 Bitstring 1 VPGGPSTA Bits 48-51 of PFRA For a valid-in-real-storage PTE, bits 52 and 55 must be zero. Bits 53 and 54 are Page-invalid and Page-protection, respectively. .... 1..1 PAGGSMBZ X'09' PAGGSMBZ Must be zero in any valid PTE .... .1.. PAGGINVA X'04' PAGGINVA PTE is invalid: I-bit. To turn off this bit, SHORT pg. serialization must be held unless the bit is being turned off by HPMA or by fastpath resolve which require only PCLONLY .... ..1. PAGGPROT X'02' PAGGPROT Page protected (read only): P-bit .... .1.1 PAGGSXVA X'05' PAGGSXVA Page is invalid, but is valid in xstore This is a non-architected software definition. 0007 7 Bitstring 1 * This byte is not architected and is available for software use. It is recommended that software refrain from using this byte unless it is to store the guest storage key. 0000 0 Dbl-Word 8 VPGGPASA2 PTRM 2nd ASA. For PTRM PTEs only, and only when PGMBK is on DASD or as a transient condition when the PGMBK is headed to/from DASD. Note that I and P bits must be preserved and are unavailable as ASA or status bits. See HCPASATE for ASA formats. Mapping for a PGS64 (PGSTE) 0800 2048 Dbl-Word 8 VPGGPGST (0) VPGBK Page Status Entry 0800 2048 Dbl-Word 8 VPGGSNTR Virtual Page Status Entry 0800 2048 Signed 4 VPGGPGS0 Word 0 of PGSTE 0804 2052 Signed 4 VPGGPGS1 Word 1 of PGSTE 0800 2048 Bitstring 3 VPGGVRSF Field containing VPGGSVKY, VPGGSRCP and VPGGSFLG 0803 2051 Bitstring 1 * Reserved for IBM use 0800 2048 Bitstring 1 VPGGSVKY Guest Storage Key Bits 0-4 0801 2049 Bitstring 1 VPGGSRCP Architected area for RCP Byte If the storage key assist is being utilized. (See the PGSTE and RCPTE Control Blocks for further details) 1... .... RCPLOCK X'80' RCPLOCK RCP LOCK HELD .1.. .... RCPHREF X'40' RCPHREF HOST BACKUP REFERENCE BIT ..1. .... RCPHCH X'20' RCPHCH HOST BACKUP CHANGE BIT .11. .... RCPHOST RCPHREF+RCPHCH RCPHOST MASK FOR HOST BITS .... .1.. RCPGREF X'04' RCPGREF GUEST BACKUP REFERENCE BIT .... ..1. RCPGCH X'02' RCPGCH GUEST BACKUP CHANGE BIT .... .11. RCPGUEST RCPGREF+RCPGCH RCPGUEST MASK FOR GUEST BITS 1... .... PGSPCL X'80' PGSPCL Page Control Lock .1.. .... PGSRCPHR X'40' PGSRCPHR Host backup reference bit used for system pages ..1. .... PGSRCPHC X'20' PGSRCPHC Host backup change bit used for system pages. Can be changed with PCLONLY page serialization by tasks allowed to use PCLONLY. Set by page fault fastpath. Note that when setting this bit or when resetting it and turning on the PGSZBIT bit, the relocation change bit, PGSLGRCC needs to be turned on. .11. .... PGSHOST PGSRCPHR+PGSRCPHC PGSHOST Mask for host bits .... .1.. PGSGREF X'04' PGSGREF Guest backup reference bit .... ..1. PGSGCH X'02' PGSGCH Guest backup change bit .... .11. PGSGUEST PGSGREF+PGSGCH PGSGUEST Mask for guest bits 0802 2050 Bitstring 1 VPGGSFLG Virtual Page Flags 1... .... PGSINVAL X'80' PGSINVAL No auxiliary storage assigned Notes : PGSINVAL, in combination with other PTE, PGSTE, and storage key status bits, is used by steal processing to identify first time reference pages of zeros which have never been re-referenced or changed and can simply be discarded. The "first time reference page of zeros" state is identified by the following bit combination: noformat PTE: PAGINVAL=0 (page is valid and resident) PGSTE: PGSINVAL=1 (no DASD slot assigned) PGSRCPHR=0 (unreferenced) PGSRCPHC=0 (unchanged) Real frame storage key: Reference=0 (unreferenced) Change =0 (unchanged) enoformat Any resident page in this state is assumed to be unchanged zeros, and therefore simply discardable by steal. No page with non-zero contents should ever be allowed to be in this state, or a lost page will eventually result. The host change bit, PGSRCPHC, should be used to indicate that a page which is unchanged, not already on DASD, and non-zero, must be eventually written to DASD. * Note that both reference bits (PGSRCPHR and the real storage frame reference bit) can "evaporate" to zero over time due to the action of the reorder function. Therefore, the fact that a frame has been referenced, or setting PGSRCPHR on, can not prevent a page from eventually entering this "first time reference page of zeros" state. .1.. .... PGSSHARE X'40' PGSSHARE Page is a shared page ..1. .... PGS1READ X'20' PGS1READ ASA may be read only once. Used for shared pages. After the first read, this SDF (System Data File) ASA is to be ignored and the page left as changed. When the page is first written, it will go to a paging space ASA and this flag wil be turned off. PGS1READ on implies that page is read-only for the user. ...1 .... PGSALLOC X'10' PGSALLOC Page in the system address space (or a system-owned utility address space) that is allocated, OR A shared CP page in the monitor DCSS that CP has translated and that has not yet been released by the user connected to the DCSS. When this bit is on: 1) For a system utility space, the page is never part of a DASD block; 2) The associated PGMBK is never paged out. .... 1... PGSFIXED X'08' PGSFIXED Storage slot permanently assigned >>PGSPGMIO was PGSIO1ST, PGSIO2ND .... .1.. PGSPGMIO X'04' PGSPGMIO Indicates that pageable PGMBK I/O has not completed (PTRM page). Set when the first I/O completion interrupt is processed, reset when the second I/O completion interrupt is processed. Note the I/O can complete in either order. >>PGSPGMIM was PGSIOMSK 0803 2051 Bitstring 1 VPGGSSTA Virtual Page Status bits 1... .... PGSALTPT X'80' PGSALTPT For a target PTE, indicates the definition of the page is in alternate page table pointed to by PGMGALTP. For a source PTE, indicates data was saved for the page. .1.. .... PGSPCL2 X'40' PGSPCL2 Page serialization bit. See serialization section of prolog for more information. ..1. .... PGSLTSER X'20' PGSLTSER Page is "Long Term Serialized". May only be on if PGSPCL2 is also on (though PGSPCL may be on as well) .... 1... PGSXSTOR X'08' PGSXSTOR Page is in XSTORE .... .1.. PGSBLOCK X'04' PGSBLOCK This page is one page in a block of pages .... ..1. PGSRABI X'02' PGSRABI This page was read in as part of a block of pages. This bit can NOT be checked for PTRM pages, as it is redefined as PGSXSTMB in that case. RABI pages are made IBR when added to the frame list. .... ...1 PGSERROR X'01' PGSERROR Page is in error. A storage error was detected in this page and the page could not be recovered. See serialization section of the prolog for role this bit plays in page serialization. When this bit is set, VMDRSSFG.VMDRSSUE must be set in the VMDBK that owns the space. 0803 2051 Bitstring 1 VPGGMSTA Virtual Page (PGMBK) Status bits 0804 2052 Signed 4 * Reserved 0804 2052 Bitstring 1 VPGGSB4 Virtual Page Status (Byte 4) 1... .... PGSZBIT X'80' PGSZBIT Page-content-logically zero bit Only meaningful when the PTE is invalid. ..1. .... PGSCLASS X'20' PGSCLASS The page class specifies which Delta-pinned-page-count array is to be used in maintaining pinned page counts. Page class 0 (bit is 0) specifies the DPPCA for base address space pages owned by user. Page class 1 (bit is 1) specifies NSS/DCSS imbedded shared pages. The page class 0 DPPCA resides in the ASCBK and is pointed to by SIEDPPCAO in the format-2 state descriptor (SI2BK). The page class 1 DPPCA resides resides in RSMBK and is pointed to by PFXDPPCAO in the prefix area. ...1 .... PGSOVFLW X'10' PGSOVFLW The pin count (PGSPINCT) has overflowed and the current value does not represent the total pin count. The remainder of the total pin count is contained in both PGSOVFL1 (a one bit pin count overflow used to control hardware interception) and PGAOVFLW in the PGAUX). PTE must be valid. Can be modified with PCLONLY page serialization by tasks allowed to use PCLONLY. Set by pin/unpin fastpaths, translation paths, and no-owned functions. .... 1... PGSPROCL X'08' PGSPROCL Indicates page is on the processed list. Turned on by machine or fast path processing when corresponding FRMTE is put on processed list. Turned off by HCPPLP processed list processing. Can be modified with PCLONLY page serialization by tasks allowed to use PCLONLY. Set by HPMA or fastpath validate page. See PFXPROCL definition comments in HCPPFXPG for additional rules regarding processed list usage and the setting of PGSPROCL. .... .1.. PGSCONRP X'04' PGSCONRP Indicates a content-replacement operation occurred on an HPMA Resolve host page function. Can be modified with PCLONLY page serialization by tasks allowed to use PCLONLY. Set by HPMA or fastpath validate page. .... ..1. PGSUS0 X'02' PGSUS0 .... ...1 PGSUS1 X'01' PGSUS1 .... ..11 PGSUS PGSUS0+PGSUS1 PGSUS .... .... PGSUSS 0 PGSUSS .... ...1 PGSUSU 1 PGSUSU .... ..1. PGSUSP 2 PGSUSP .... ..11 PGSUSV 3 PGSUSV 0805 2053 Bitstring 1 VPGGSB5 Virtual Page Status (Byte 5) 0806 2054 Bitstring 1 VPGGSB6 Virtual Page Status (Byte 6) 0807 2055 Bitstring 1 VPGGSB7 VPS (Byte 7) - Pin Count 0804 2052 Signed 4 VPGPPDBK 31-bit PPDBK address. Note that this 31-bit addr doesn't conflict with bit 0 of this fullword (bit 32 of the PGSTE), which is PGSZBIT. Valid only in invalid PTRM PGSTE, when PGMBK is on DASD, or as a transient condition when the PGMBK may be headed to DASD. Mapping for a ASA64 (ASATE) 1000 4096 Dbl-Word 8 VPGGASAT (0) VPGBK Aux Storage Address 1000 4096 Dbl-Word 8 VPGGANTR Auxiliary Storage Address 1000 4096 Signed 4 VPGGASA0 Word 0 of ASATE 1004 4100 Signed 4 VPGGASA1 Word 1 of ASATE 1000 4096 Signed 2 VPGGACNM Auxiliary Storage Cylinder Number 1002 4098 Bitstring 1 VPGGAPNM Auxiliary Storage Page Number 1003 4099 Bitstring 1 VPGGAVOL Auxiliary Storage Volume Code 1004 4100 Signed 4 VPGGAXSBN2 PTRM 2nd Xstore Block Number (XSBN). For PTRM PTEs only, when PGMBK is in Xstore (PGSXSTOR=1), contains the XSBN containing the second page of the PGM64. 1000 4096 Bitstring 6 * Bits 0-47 of ASA 1006 4102 Bitstring 1 VPGGAFLG ASA & Flags protect bits when PTRM PTE contains 2nd ASA for paged 8K PGMBK (to keep consistant formats) 1007 4103 Bitstring 1 VPGGASTA ASA status
 
 
  VPG64 Storage Layout Top of page
 
 
*** VPG64 - VIRTUAL PAGE BLOCK
*
*     +-------------------------------------------------------+
*   0 |                       VPGGPAG                         |
*     +-------------------------------------------------------+
*   8 |///////////////////////////////////////////////////////|
*     =///////////////////////////////////////////////////////=
*     |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
* 800 |                       VPGGPGS                         |
*     +-------------------------------------------------------+
* 808 |///////////////////////////////////////////////////////|
*     =///////////////////////////////////////////////////////=
*     |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*1000 |                       VPGGASA                         |
*     +-------------------------------------------------------+
*1008 |///////////////////////////////////////////////////////|
*     =///////////////////////////////////////////////////////=
*     |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*1800
*
*** VPG64 - VIRTUAL PAGE BLOCK
 
*** Overlay for VPGGPAG in VPG64
*
*     +-------------------------------------------------------+
*   0 |                       VPGGPNTR                        |
*     +-------------------------------------------------------+
*   8
*
*** Overlay for VPGGPAG in VPG64
 
*** Overlay for VPGGPNTR in VPG64
*
*     +---------------------------+---------------------------+
*   0 |         VPGGPTE0          |         VPGGPTE1          |
*     +---------------------------+---------------------------+
*   8
*
*** Overlay for VPGGPNTR in VPG64
 
*** Overlay for VPGGPTE0 in VPG64
*
*     +-------------+-------------+---------------------------+
*   0 |  VPGGPLNK   |/////////////|///////////////////////////|
*     +-------------+-------------+---------------------------+
*   8
*
*** Overlay for VPGGPTE0 in VPG64
 
*** Overlay for VPGGPTE0 in VPG64
*
*     +---------------------------+---------------------------+
*   0 |         VPGGXSBN          |                           |
*     +---------------------------+                           |
*     |                       VPGGXSTS                        |
*     |                                                       |
*     +---------------------------+------+--------------------+
*  18 |///////////////////////////|//////| 1D
*     +---------------------------+------+
*
*** Overlay for VPGGPTE0 in VPG64
 
*** Overlay for VPGGPTE0 in VPG64
*
*     +---------------------------+-------------+------+------+
*   0 |///////////////////////////|/////////////|:GPSTA|//////|
*     +---------------------------+-------------+------+------+
*   8
*
*** Overlay for VPGGPTE0 in VPG64
 
*** Overlay for VPGGPNTR in VPG64
*
*     +-------------------------------------------------------+
*   0 |                      VPGGPASA2                        |
*     +-------------------------------------------------------+
*   8
*
*** Overlay for VPGGPNTR in VPG64
 
*** Overlay for VPGGPGS in VPG64
*
*     +-------------------------------------------------------+
* 800 |                       VPGGSNTR                        |
*     +-------------------------------------------------------+
* 808
*
*** Overlay for VPGGPGS in VPG64
 
*** Overlay for VPGGSNTR in VPG64
*
*     +---------------------------+---------------------------+
* 800 |         VPGGPGS0          |         VPGGPGS1          |
*     +---------------------------+---------------------------+
* 808
*
*** Overlay for VPGGSNTR in VPG64
 
*** Overlay for VPGGPGS0 in VPG64
*
*     +--------------------+------+
* 800 |     VPGGVRSF       |//////| 804
*     +--------------------+------+
*
*** Overlay for VPGGPGS0 in VPG64
 
*** Overlay for VPGGPGS0 in VPG64
*
*     +------+------+------+------+
* 800 |:GSVKY|:GSRCP|:GSFLG|:GSSTA| 804
*     +------+------+------+------+
*
*** Overlay for VPGGPGS0 in VPG64
 
*** Overlay for VPGGSSTA in VPG64
*
*                          +------+
* 800 ...              803 |:GMSTA| 804
*                          +------+
*
*** Overlay for VPGGSSTA in VPG64
 
*** Overlay for VPGGPGS1 in VPG64
*
*                                 +---------------------------+
* 800 ...                     804 |///////////////////////////|
*                                 +---------------------------+
* 808
*
*** Overlay for VPGGPGS1 in VPG64
 
*** Overlay for VPGGPGS1 in VPG64
*
*                                 +------+------+------+------+
* 800 ...                     804 |:GSB4 |:GSB5 |:GSB6 |:GSB7 |
*                                 +------+------+------+------+
* 808
*
*** Overlay for VPGGPGS1 in VPG64
 
*** Overlay for VPGGPGS1 in VPG64
*
*                                 +---------------------------+
* 800 ...                     804 |         VPGPPDBK          |
*                                 +---------------------------+
* 808
*
*** Overlay for VPGGPGS1 in VPG64
 
*** Overlay for VPGGASA in VPG64
*
*     +-------------------------------------------------------+
*1000 |                       VPGGANTR                        |
*     +-------------------------------------------------------+
*1008
*
*** Overlay for VPGGASA in VPG64
 
*** Overlay for VPGGANTR in VPG64
*
*     +---------------------------+---------------------------+
*1000 |         VPGGASA0          |         VPGGASA1          |
*     +---------------------------+---------------------------+
*1008
*
*** Overlay for VPGGANTR in VPG64
 
*** Overlay for VPGGASA0 in VPG64
*
*     +-------------+------+------+
*1000 |  VPGGACNM   |:GAPNM|:GAVOL| 1004
*     +-------------+------+------+
*
*** Overlay for VPGGASA0 in VPG64
 
*** Overlay for VPGGASA1 in VPG64
*
*                                 +---------------------------+
*1000 ...                    1004 |        VPGGAXSBN2         |
*                                 +---------------------------+
*1008
*
*** Overlay for VPGGASA1 in VPG64
 
*** Overlay for VPGGANTR in VPG64
*
*     +-----------------------------------------+------+------+
*1000 |/////////////////////////////////////////|:GAFLG|:GASTA|
*     +-----------------------------------------+------+------+
*1008
*
*** Overlay for VPGGANTR in VPG64
 
 
  VPG64 Cross Reference Top of page
 
 
Symbol         Dspl Value
-------------- ---- -----
PAGGINVA       0006 04
PAGGPROT       0006 02
PAGGSMBZ       0006 09
PAGGSXVA       0006 05
PGSALLOC       0802 10
PGSALTPT       0803 80
PGSBLOCK       0803 04
PGSCLASS       0804 20
PGSCONRP       0804 04
PGSERROR       0803 01
PGSFIXED       0802 08
PGSGCH         0801 02
PGSGREF        0801 04
PGSGUEST       0801 06
PGSHOST        0801 60
PGSINVAL       0802 80
PGSLTSER       0803 20
PGSOVFLW       0804 10
PGSPCL         0801 80
PGSPCL2        0803 40
PGSPGMIO       0802 04
PGSPROCL       0804 08
PGSRABI        0803 02
PGSRCPHC       0801 20
PGSRCPHR       0801 40
PGSSHARE       0802 40
PGSUS          0804 03
PGSUSP         0804 02
PGSUSS         0804 00
PGSUSU         0804 01
PGSUSV         0804 03
PGSUS0         0804 02
PGSUS1         0804 01
PGSXSTOR       0803 08
PGSZBIT        0804 80
PGS1READ       0802 20
RCPGCH         0801 02
RCPGREF        0801 04
RCPGUEST       0801 06
RCPHCH         0801 20
RCPHOST        0801 60
RCPHREF        0801 40
RCPLOCK        0801 80
VPGGACNM       1000
VPGGAFLG       1006
VPGGANTR       1000
VPGGAPNM       1002
VPGGASA        1000
VPGGASAT       1000
VPGGASA0       1000
VPGGASA1       1004
VPGGASTA       1007
VPGGAVOL       1003
VPGGAXSBN2     1004
VPGGMSTA       0803
VPGGNEXT       0008
VPGGPAG        0000
VPGGPASA2      0000
VPGGPGS        0800
VPGGPGST       0800
VPGGPGS0       0800
VPGGPGS1       0804
VPGGPLNK       0000
VPGGPNTR       0000
VPGGPSTA       0006
VPGGPTE        0000
VPGGPTE0       0000
VPGGPTE1       0004
VPGGSB4        0804
VPGGSB5        0805
VPGGSB6        0806
VPGGSB7        0807
VPGGSFLG       0802
VPGGSNTR       0800
VPGGSRCP       0801
VPGGSSTA       0803
VPGGSVKY       0800
VPGGVRSF       0800
VPGGXSBN       0000
VPGGXSTS       0004
VPGPPDBK       0804
 
This information is based on z/VM 6.4.0 Last updated on 24 Aug 2016 at 09:45:16 EDT.
Copyright IBM Corporation, 1990, 2016