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

Prolog  

Control Block Contents  

VPGBK DSECT

Storage Layout  

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


This information is based on VM/ESA 2.4.0.
Last updated on 3 Aug 1999 at 13:46:52 EDT.
Copyright IBM Corporation, 1990, 1999