Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
PGS64
Control Block Contents
PGS64 DSECT
Cross Reference (Contains links to field and bit definitions)
PGS64 Control Block Content
PGS64 DSECT
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure PGS64 PAGE STATUS TABLE ENTRY 0000 0 Dbl-Word 8 PGSGENTR Virtual Page Status Entry 0000 0 Signed 4 PGS64W0 PGSTE 0004 4 Signed 4 PGS64W1 Reserved for IBM use 00000008 PGSGLENT *-PGSGENTR Length of one Status Table Entry 0008 8 Signed 4 PGSGNEXT (0) Next Page Status Table Entry 0000 0 Bitstring 1 PGSGVKEY Guest Storage key bits 0-4 1111 .... PGSVKACC X'F0' PGSVKACC Access-control key value .... 1... PGSVKFET X'08' PGSVKFET Fetch-protection control 1111 1... PGSVKACF PGSVKACC+PGSVKFET PGSVKACF Acc-ctrl & fetch-prot bits 0001 1 Bitstring 1 PGSGRCP Architected area for RCP byte if storage key assist is being utilized, or the page belongs to the system. 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. .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 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 Note that the Page Control Lock and the RCP Interlock bit are one in the same if the Storage Key Assist is being utilized. 0002 2 Bitstring 1 PGSGFLAG 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 00000400 PGSPGMIM (PGSPGMIO)*256 >>PGSPRBN moved from PGSGSTAT .... ..1. PGSPRBN X'02' ASA is, in fact, a PRBN (pool- relative block number) .... ...1 PGSREADO X'01' Storage slot (DASD) is read-only 0003 3 Bitstring 1 PGSGSTAT Virtual Page Status bits 1... .... PGSALTPT X'80' PGSALTPT Page is defined in an alternate Page table pointed from PGMGALTP .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. .... PGSTRANS PGSLTSER PGSTRANS Deprecated .... 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. .... ...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. PGS64W1 start PGSBYTE 4 Additional status bits 0004 4 Bitstring 1 PGSBYTE4 Byte 4 of page status entry 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 ASAOVFLW in the ASATE). 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 PGSBYTE 5 Additional status bits 0005 5 Bitstring 1 PGSBYTE5 Byte 5 of page status entry Reserved for IBM use PGSBYTE 6 Additional status bits 0006 6 Bitstring 1 PGSBYTE6 Byte 6 of page status entry >>PGSCMDLK was FRMCPLOK 1... .... PGSCPLOK X'80' PGSCPLOK A pageable page is locked in the frame (pinned) by the CP LOCK command, one increment of the total pin count represents the CP LOCK command lock. >>PGSD98LK was PGSVMSLK .1.. .... PGSD98LK X'40' PGSD98LK A pageable page is locked in the frame (pinned) at Virtual Machine request via Diagnose x'98', one increment of the total pin count represents the Diagnose x'98' Virtual Machine lock. .... ..1. PGSALIAS X'02' PGSALIAS Guest page has an SXS alias. This bit can only be tested if PAGGINVA is not set; i.e. the PTE must be valid. .... ...1 PGSOVFL1 X'01' PGSOVFL1 A one bit pin count overflow count bit. Used to hold one pin count out of PGSPINCT to control hardware interception. PTE must be valid. Can be modified with PCLONLY page serialization by tasks allowed to use PCLONLY. Turned on/off by pin/unpin fastpaths, translation paths, and no-owned functions. Also turned on by HCPTRANS HOSTTYPE=LOGICAL, TRANSLATE=NO, LOCK=YES of a no-owned page that wasn't locked or pinned but was last translated. Gets turned off in edge-triggered cases. 0007 7 Bitstring 1 PGSPINCT Pin Count. Represents the number of pins (page locks) visible to hardware. If PGSOVFLW is set, does not represent the true total pin count. Additional pin count values are held in PGSOVFL1 (a one bit pin overflow count used to control hardware interception) and ASAOVFLW (a halfword pin overflow count where each "1" increment represents 128 pin count increments). PTE must be valid. Can be modified with PCLONLY page serialization by tasks allowed to use PCLONLY. Turned on/off by pin/unpin fastpaths, translation paths, and no-owned functions. PGS64W1 end Redefinition of PGSGSTAT for Pageable PGMBK (PTRM) pages 0003 3 Bitstring 1 PGSGPSTA Pageable PGMBK Virtual Page Status bits. .... ..1. PGSXSTMB X'02' This page (a pageable PGMBK) itself supports pages in XSTORE. This bit is only used for PTRM pages that currently reside in XSTORE (PGSXSTOR must also be on if PGSXSTMB is on). Note that this bit is a redefinition of the PGSRABI bit, which is acceptable since pageable PGMBKs (PTRM pages) are never blocked. 0004 4 Signed 4 PGSVMDBK Address of owning VMDBK. Formerly was field PPDVMDBK. Note that the VMDBK address is a 31-bit address, occupying bits 1-31 of this word; this can coexist with PGSZBIT in bit 0 of this word if handled carefully Valid only in invalid PTRM PGSTE, when PGMBK is on DASD, or as a transient condition when the PGMBK may be headed to DASD.
PGS64 Storage Layout
*** PGS64 - PAGE STATUS TABLE ENTRY * * +-------------------------------------------------------+ * 0 | PGSGENTR | * +-------------------------------------------------------+ * 8 * *** PGS64 - PAGE STATUS TABLE ENTRY *** Overlay for PGSGENTR in PGS64 * * +---------------------------+---------------------------+ * 0 | PGS64W0 | PGS64W1 | * +---------------------------+---------------------------+ * *** Overlay for PGSGENTR in PGS64 *** Overlay for PGS64W0 in PGS64 * * +------+------+------+------+------+------+------+------+ * 0 |:GVKEY|:GRCP |:GFLAG|:GSTAT|:BYTE4|:BYTE5|:BYTE6|:PINCT| * +------+------+------+------+------+------+------+------+ * 8 * *** Overlay for PGS64W0 in PGS64 *** Overlay for PGSGSTAT in PGS64 * * +------+ * 0 ... 3 |:GPSTA| 4 * +------+ * *** Overlay for PGSGSTAT in PGS64 *** Overlay for PGS64W1 in PGS64 * * +---------------------------+ * 0 ... 4 | PGSVMDBK | * +---------------------------+ * 8 * *** Overlay for PGS64W1 in PGS64
PGS64 Cross Reference
Symbol Dspl Value -------------- ---- ----- PGSALIAS 0006 02 PGSALLOC 0002 10 PGSALTPT 0003 80 PGSBLOCK 0003 04 PGSBYTE4 0004 PGSBYTE5 0005 PGSBYTE6 0006 PGSCLASS 0004 20 PGSCONRP 0004 04 PGSCPLOK 0006 80 PGSD98LK 0006 40 PGSERROR 0003 01 PGSFIXED 0002 08 PGSGCH 0001 02 PGSGENTR 0000 PGSGFLAG 0002 PGSGLENT 0004 00000008 PGSGNEXT 0008 PGSGPSTA 0003 PGSGRCP 0001 PGSGREF 0001 04 PGSGSTAT 0003 PGSGUEST 0001 06 PGSGVKEY 0000 PGSHOST 0001 60 PGSINVAL 0002 80 PGSLTSER 0003 20 PGSOVFLW 0004 10 PGSOVFL1 0006 01 PGSPCL 0001 80 PGSPCL2 0003 40 PGSPGMIM 0002 00000400 PGSPGMIO 0002 04 PGSPINCT 0007 PGSPRBN 0002 02 PGSPROCL 0004 08 PGSRABI 0003 02 PGSRCPHC 0001 20 PGSRCPHR 0001 40 PGSREADO 0002 01 PGSSHARE 0002 40 PGSTRANS 0003 20 PGSUS 0004 03 PGSUSP 0004 02 PGSUSS 0004 00 PGSUSU 0004 01 PGSUSV 0004 03 PGSUS0 0004 02 PGSUS1 0004 01 PGSVKACC 0000 F0 PGSVKACF 0000 F8 PGSVKFET 0000 08 PGSVMDBK 0004 PGSXSTMB 0003 02 PGSXSTOR 0003 08 PGSZBIT 0004 80 PGS1READ 0002 20 PGS64W0 0000 PGS64W1 0004 RCPGCH 0001 02 RCPGREF 0001 04 RCPGUEST 0001 06 RCPHCH 0001 20 RCPHOST 0001 60 RCPHREF 0001 40 RCPLOCK 0001 80
Copyright IBM Corporation, 1990, 2009