Programming Interface Information:
This information is NOT
intended to be
used as Programming Interfaces of VM/ESA. It is to be used for diagnosis only. |
VPGBK
Cross Reference (Contains links to field and bit definitions)
VPGBK Prolog
NAME : HCPVPGBK DESCRIPTION: VIRTUAL PAGE BLOCK DSECT : VPGBK FUNCTION : THE VPGBK IS USED TO MAP A PAGTE, PGSTE AND ASATE FOR ONE VIRTUAL PAGE. IT EXISTS SOLELY FOR ADDRESSABILITY. THE ADDRESS OF A PAGTE IS USED AS A VPGBK ADDRESS SO THAT THE CORRESPONDING PGSTE AND ASATE CAN BE ACCESSED USING ONLY ONE BASE REGISTER. LOCATED BY : THE VPGBK IS NOT A FIXED BLOCK. ITS ADDRESS IS THE SAME AS THE ADDRESS FOR ANY PAGTE. CREATED BY : A VPGBK IS USED FOR ADDRESSABILITY ONLY. IT IS NOT CREATED OR DELETED. DELETED BY : SEE CREATED BY
VPGBK Control Block Content
VPGBK DSECT
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure VPGBK VIRTUAL PAGE BLOCK 0000 0 Signed 4 VPGPAG PAGE TABLE ENTRY 0004 4 Signed 4 VPGNEXT (0) ADDRESS FOR NEXT VPGBK 0004 4 Signed 4 * (255) 0400 1024 Signed 4 VPGPGS PAGE STATUS TABLE ENTRY 0404 1028 Signed 4 * (255) 0800 2048 Signed 4 VPGASA AUXILIARY STORAGE ADDRESS ENTRY 0804 2052 Signed 4 * (255) 0C00 3072 Signed 2 * 0C02 3074 Signed 2 VPGPAUX2 AUXILARY FIELD USED IF PTE > 128 0C04 3076 Signed 4 * (127) 0E00 3584 Signed 2 VPGPAUX1 AUXILARY FIELD USED IF PTE < 128 MAPPING FOR A PAGTE 00000000 VPGPAGTE * VPGBK PAGE TABLE ENTRY 0000 0 Signed 4 VPGPNTRY HARDWARE PAGE TABLE ENTRY 0000 0 Signed 2 VPGPLINK (0) 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. 0000 0 Bitstring 1 * BITS 1-19 ARE ARCHITECTED AS THE 0001 1 Bitstring 1 * 4K ALIGNED PAGE FRAME ADDRESS. 0002 2 Bitstring 1 VPGPSTAT BITS 0, 20, AND 23 MUST BE ZERO, BITS 21 AND 22 ARE DEFINED BELOW .... .1.. PAGINVAL X'04' PAGE TABLE ENTRY IS INVALID .... ..1. PAGPROT X'02' PAGE PROTECTED (READ ONLY) 0003 3 Bitstring 1 VPGPBYT3 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 A PGSTE 00000400 VPGPGSTE * VPGBK PAGE STATUS ENTRY 0400 1024 Signed 4 VPGSNTRY VIRTUAL PAGE STATUS ENTRY 0400 1024 Bitstring 3 VPGSVKCF FIELD CONTAINING VPGSVKEY,VPGSRCP AND VPGSFLAG 0403 1027 Bitstring 1 * RESERVED FOR FUTURE IBM USE 0400 1024 Bitstring 1 VPGSVKEY GUEST STORAGE KEY BITS 0-4 1111 .... PGSVKACC X'F0' Access-control key value .... 1... PGSVKFET X'08' Fetch-protection control 1111 1... PGSVKACF PGSVKACC+PGSVKFET Acc-ctrl & fetch-prot bits 0401 1025 Bitstring 1 VPGSRCP 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 0402 1026 Bitstring 1 VPGSFLAG VIRTUAL PAGE FLAGS 1... .... PGSINVAL X'80' No auxiliary storage assigned 0403 1027 Bitstring 1 VPGSSTAT VIRTUAL PAGE STATUS BITS 1... .... PGSALTPT X'80' This PTE is part of an alternate PTE structure. 0403 1027 Bitstring 1 VPGMSTAT VIRTUAL PAGE (PGMBK) 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. MAPPING FOR AN ASATE 00000800 VPGASATE * VPGBK AUX STORAGE ADDRESS 0800 2048 Signed 4 VPGANTRY AUXILIARY STORAGE ADDRESS 0800 2048 Signed 2 VPGACNUM AUXILIARY STORAGE CYLINDER NUMBER 0802 2050 Bitstring 1 VPGAPNUM AUXILIARY STORAGE PAGE NUMBER 0803 2051 Bitstring 1 VPGAVOL AUXILIARY STORAGE VOLUME CODE * BIT MASKS FOR PAGE SERIALIZATION DEFINE MULTIPLIERS TO SHIFT BITS INTO CORRECT BYTE: 00000001 VPGBYTE3 1 MULTIPLIER FOR VPGSNTRY BYTE 3 00000100 VPGBYTE2 (256*VPGBYTE3) MULTIPLIER FOR VPGSNTRY BYTE 2 00010000 VPGBYTE1 (256*VPGBYTE2) MULTIPLIER FOR VPGSNTRY BYTE 1 00000000 VPGBYTE0 (256*VPGBYTE1) MULTIPLIER FOR VPGSNTRY BYTE 0 MASK FOR SETTING LONG TERM SERIALIZATION: 00800040 VPGLON ((PGSPCL*VPGBYTE1)+(PGSTRANS*VPGB YTE3)) MASK FOR SETTING SHORT TERM SERIALIZATION: 00800000 VPGSON (PGSPCL*VPGBYTE1) MASK FOR SETTING 'PAGE IN ERROR': 00800001 VPGEON ((PGSPCL*VPGBYTE1)+(PGSERROR*VPGB YTE3)) MASK FOR RESETTING PAGE SERIALIZATION BITS: 007FFFBE VPGFOFF X'FFFFFFFF'-((PGSPCL*VPGBYTE1)+(( PGSTRANS+PGSERROR)*VPGB YTE3))
VPGBK Storage Layout
*** VPGBK - VIRTUAL PAGE BLOCK * * +---------------------------+---------------------------+ * 0 | VPGPAG |///////////////////////////| * +---------------------------+///////////////////////////| * 8 |///////////////////////////////////////////////////////| * =///////////////////////////////////////////////////////= * |///////////////////////////////////////////////////////| * +---------------------------+---------------------------+ * 400 | VPGPGS |///////////////////////////| * +---------------------------+///////////////////////////| * 408 |///////////////////////////////////////////////////////| * =///////////////////////////////////////////////////////= * |///////////////////////////////////////////////////////| * +---------------------------+---------------------------+ * 800 | VPGASA |///////////////////////////| * +---------------------------+///////////////////////////| * 808 |///////////////////////////////////////////////////////| * =///////////////////////////////////////////////////////= * |///////////////////////////////////////////////////////| * +-------------+-------------+---------------------------+ * C00 |/////////////| VPGPAUX2 |///////////////////////////| * +-------------+-------------+///////////////////////////| * C08 |///////////////////////////////////////////////////////| * =///////////////////////////////////////////////////////= * |///////////////////////////////////////////////////////| * +-------------+-----------------------------------------+ * E00 | VPGPAUX1 | E02 * +-------------+ * *** VPGBK - VIRTUAL PAGE BLOCK *** Overlay for VPGPAG in VPGBK * * +---------------------------+ * 0 | VPGPNTRY | 4 * +---------------------------+ * *** Overlay for VPGPAG in VPGBK *** Overlay for VPGPNTRY in VPGBK * * +------+------+------+------+ * 0 |//////|//////|:PSTAT|:PBYT3| 4 * +------+------+------+------+ * *** Overlay for VPGPNTRY in VPGBK *** Overlay for VPGPGS in VPGBK * * +---------------------------+ * 400 | VPGSNTRY | 404 * +---------------------------+ * *** Overlay for VPGPGS in VPGBK *** Overlay for VPGSNTRY in VPGBK * * +--------------------+------+ * 400 | VPGSVKCF |//////| 404 * +--------------------+------+ * *** Overlay for VPGSNTRY in VPGBK *** Overlay for VPGSNTRY in VPGBK * * +------+------+------+------+ * 400 |:SVKEY|:SRCP |:SFLAG|:SSTAT| 404 * +------+------+------+------+ * *** Overlay for VPGSNTRY in VPGBK *** Overlay for VPGSSTAT in VPGBK * * +------+ * 400 ... 403 |:MSTAT| 404 * +------+ * *** Overlay for VPGSSTAT in VPGBK *** Overlay for VPGASA in VPGBK * * +---------------------------+ * 800 | VPGANTRY | 804 * +---------------------------+ * *** Overlay for VPGASA in VPGBK *** Overlay for VPGANTRY in VPGBK * * +-------------+------+------+ * 800 | VPGACNUM |:APNUM|:AVOL | 804 * +-------------+------+------+ * *** Overlay for VPGANTRY in VPGBK
VPGBK Cross Reference
(contains links to field and bit definitions)Symbol Dspl Value -------------- ---- -----PAGINVAL 0002 04
PAGPROT 0002 02
PGSALTPT 0403 80
PGSINVAL 0402 80
PGSVKACC 0400 F0
PGSVKACF 0400 F8
PGSVKFET 0400 08
PGSXSTMB 0403 02
RCPGCH 0401 02
RCPGREF 0401 04
RCPGUEST 0401 06
RCPHCH 0401 20
RCPHOST 0401 60
RCPHREF 0401 40
RCPLOCK 0401 80
VPGACNUM 0800
VPGANTRY 0800
VPGAPNUM 0802
VPGASA 0800
VPGASATE 0403 00000800
VPGAVOL 0803
VPGBYTE0 0803 00000000
VPGBYTE1 0803 00010000
VPGBYTE2 0803 00000100
VPGBYTE3 0803 00000001
VPGEON 0803 00800001
VPGFOFF 0803 007FFFBE
VPGLON 0803 00800040
VPGMSTAT 0403
VPGNEXT 0004
VPGPAG 0000
VPGPAGTE 0E00 00000000
VPGPAUX1 0E00
VPGPAUX2 0C02
VPGPBYT3 0003
VPGPGS 0400
VPGPGSTE 0003 00000400
VPGPLINK 0000
VPGPNTRY 0000
VPGPSTAT 0002
VPGSFLAG 0402
VPGSNTRY 0400
VPGSON 0803 00800000
VPGSRCP 0401
VPGSSTAT 0403
VPGSVKCF 0400
VPGSVKEY 0400
Last updated on 3 Aug 1999 at 13:46:52 EDT.
Copyright IBM Corporation, 1990, 1999