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 an ESAME PAG64 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 ESAME PAGTE 0004 4 Signed 4 VPGGPTE1 Word 1 of ESAME PAGTE 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 Signed 4 * Reserved for IBM use 0000 0 Signed 4 * Bits 0-31 of ESAME PFRA 0004 4 Signed 2 * Bits 32-47 of ESAME PFRA 0006 6 Bitstring 1 VPGGPSTA Bits 48-51 of ESAME 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. 1111 .... PAGGSPFR X'F0' Bits 48-51 of PFRA (if valid) or bits 28-31 of XSBN (if valid in xstore) .... 1..1 PAGGSMBZ X'09' Must be zero in any valid PTE .... .1.. PAGGINVA X'04' PTE is invalid: I-bit .... ..1. PAGGPROT X'02' Page protected (read only): P-bit .... .1.1 PAGGSXVA X'05' 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. Mapping for an ESAME PGS64 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 ESAME PGSTE 0804 2052 Signed 4 VPGGPGS1 Word 1 of ESAME 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' RCP LOCK HELD .1.. .... RCPHREF X'40' HOST BACKUP REFERENCE BIT ..1. .... RCPHCH X'20' HOST BACKUP CHANGE BIT .11. .... RCPHOST RCPHREF+RCPHCH MASK FOR HOST BITS .... .1.. RCPGREF X'04' GUEST BACKUP REFERENCE BIT .... ..1. RCPGCH X'02' GUEST BACKUP CHANGE BIT .... .11. RCPGUEST RCPGREF+RCPGCH MASK FOR GUEST BITS 1... .... PGSPCL X'80' Page Control Lock .1.. .... PGSRCPHR X'40' Host backup reference bit used for system pages ..1. .... PGSRCPHC X'20' Host backup change bit used for system pages .11. .... PGSHOST PGSRCPHR+PGSRCPHC Mask for host bits .... .1.. PGSGREF X'04' Guest backup reference bit .... ..1. PGSGCH X'02' Guest backup change bit .... .11. PGSGUEST PGSGREF+PGSGCH Mask for guest bits 0802 2050 Bitstring 1 VPGGSFLG Virtual Page Flags 1... .... PGSINVAL X'80' 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' Page is a shared page ..1. .... PGS1READ X'20' 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' 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' Storage slot permanently assigned .... .1.. PGSIO1ST X'04' Indicate the first page of PGMBK has completed I/O. Serialized via PGSTRANS. .... ..1. PGSIO2ND X'02' Indicate the second page of PGMBK has completed I/O. Serialized via PGSTRANS. .... .11. PGSIOFLG PGSIO1ST+PGSIO2ND 0803 2051 Bitstring 1 VPGGSSTA Virtual Page Status bits 0803 2051 Bitstring 1 VPGGMSTA Virtual Page (PGMBK) Status bits 0804 2052 Signed 4 VPGGAUX Time this page was written Mapping for an ESAME ASA64 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 ESAME ASATE 1004 4100 Signed 4 VPGGASA1 Word 1 of ESAME 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 VPGGPTRM PTRM-specific data. Only valid in PTRM non-pageable PGM64s If PGSINVAL=b'0', then this is the ASA representing the second page of the PGM64 If PGSXSTOR=b'1', then this is the XSTORE block number representing the second page of the PGM64. .* .*
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 |///////////////////////////| * +---------------------------+---------------------------+ * 8 * *** Overlay for VPGGPTE0 in VPG64 *** Overlay for VPGGPTE0 in VPG64 * * +---------------------------+-------------+------+------+ * 0 |///////////////////////////|/////////////|:GPSTA|//////| * +---------------------------+-------------+------+------+ * 8 * *** Overlay for VPGGPTE0 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 | VPGGAUX | * +---------------------------+ * 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 | VPGGPTRM | * +---------------------------+ *1008 * *** Overlay for VPGGASA1 in VPG64
VPG64 Cross Reference
Symbol Dspl Value -------------- ---- ----- PAGGINVA 0006 04 PAGGPROT 0006 02 PAGGSMBZ 0006 09 PAGGSPFR 0006 F0 PAGGSXVA 0006 05 PGSALLOC 0802 10 PGSFIXED 0802 08 PGSGCH 0801 02 PGSGREF 0801 04 PGSGUEST 0801 06 PGSHOST 0801 60 PGSINVAL 0802 80 PGSIOFLG 0802 06 PGSIO1ST 0802 04 PGSIO2ND 0802 02 PGSPCL 0801 80 PGSRCPHC 0801 20 PGSRCPHR 0801 40 PGSSHARE 0802 40 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 VPGGANTR 1000 VPGGAPNM 1002 VPGGASA 1000 VPGGASAT 1000 VPGGASA0 1000 VPGGASA1 1004 VPGGAUX 0804 VPGGAVOL 1003 VPGGMSTA 0803 VPGGNEXT 0008 VPGGPAG 0000 VPGGPGS 0800 VPGGPGST 0800 VPGGPGS0 0800 VPGGPGS1 0804 VPGGPLNK 0000 VPGGPNTR 0000 VPGGPSTA 0006 VPGGPTE 0000 VPGGPTE0 0000 VPGGPTE1 0004 VPGGPTRM 1004 VPGGSFLG 0802 VPGGSNTR 0800 VPGGSRCP 0801 VPGGSSTA 0803 VPGGSVKY 0800 VPGGVRSF 0800 VPGGXSBN 0000
Copyright IBM Corporation, 1990, 2001