Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
VPG64
Control Block Contents
VPG64 DSECT
Cross Reference (Contains links to field and bit definitions)
VPG64 Control Block Content
VPG64 DSECT
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) 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 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
*** 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
Symbol Dspl Value -------------- ---- ----- PAGGINVA 0006 04 PAGGPROT 0006 02 PAGGSMBZ 0006 09 PAGGSXVA 0006 05 PGSALLOC 0802 10 PGSCLASS 0804 20 PGSCONRP 0804 04 PGSFIXED 0802 08 PGSGCH 0801 02 PGSGREF 0801 04 PGSGUEST 0801 06 PGSHOST 0801 60 PGSINVAL 0802 80 PGSOVFLW 0804 10 PGSPCL 0801 80 PGSPGMIO 0802 04 PGSPROCL 0804 08 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 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
Copyright IBM Corporation, 1990, 2011