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.

PGMBK

Prolog  

Control Block Contents  

PGMBK DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  

PGMBK Prolog

 NAME       : HCPPGMBK
 DESCRIPTION: PAGE MANAGEMENT BLOCK
 DSECT      : PGMBK
 FUNCTION   : THE PAGE MANAGEMENT BLOCK DESCRIBES 1 MEGABYTE
              OF VIRTUAL STORAGE.  IT CONTAINS THE PAGE TABLE,
              THE PAGE STATUS TABLE, AND THE AUXILIARY STORAGE
              ADDRESS TABLE FOR THE MEGABYTE.
              THE PGMBK IS A 4K ALIGNED 4K BLOCK.
 LOCATED BY : SEGENTRY  FIELD OF HCPSEGTE (BITS 1 THROUGH 19)
              FRMPTE    THE FRAME TABLE ENTRY POINTS TO A PAGE TABLE
              ENTRY WITHIN THE PAGE TABLE. THE PGMBK ADDRESS
              CAN BE FOUND BY ZEROING THE DISPLACEMENT
              OF THE PAGE TABLE ENTRY'S ADDRESS SINCE THE PAGE
              TABLE IS LOCATED AT THE BEGINNING OF THE PGMBK.
 CREATED BY : HCPBPBCU
              HCPBPBIE
              HCPBPBIM
              HCPBPBSL
 DELETED BY : HCPRCIRL
              HCPRPBPA
              HCPRPBPS
              HCPRPBRM
              HCPRPBSL

 

PGMBK Control Block Content


PGMBK DSECT

Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure PGMBK PAGE MANAGEMENT BLOCK 0000 0 Signed 4 PGMPAGTB (256) PAGE TABLE-CONTAINS 256 4 BYTE ENTRIES. EACH ENTRY IS USED TO DESCRIBE 4K OF VIRTUAL STORAGE. THE COMPLETE 256-ENTRY TABLE WILL DESCRIBE 1 MEGABYTE OF GUEST ABSOLUTE STORAGE, OR 1 MEGABYTE OF SYSTEM STORAGE AREA. THE ARCHITECTED DEFINITION OF ONE ENTRY IS CONTAINED IN THE HCPPAGTE COPY FILE. 00000004 PGMPTELN 4 LENGTH OF A PAGE TABLE ENTRY IN THE PGMPAGTB (IN BYTES) 00000004 PGMPTBP1 PGMPAGTB+PGMPTELN OFFSET OF THE 2ND ENTRY IN THE PAGTB, USED FOR AN MVC TO COPY THE FIRST ENTRY THRU THE REST OF THE FIRST QUARTER OF THE PAGTB 00000100 PGMPTBP2 PGMPAGTB+PGMPTELN*64 THE SECOND QUARTER OF THE PAGTB STARTS AT THIS OFFSET INTO THE PGMBK 00000200 PGMPTBP3 PGMPAGTB+PGMPTELN*128 THE THIRD QUARTER OF THE PAGTB STARTS AT THIS OFFSET INTO THE PGMBK 00000300 PGMPTBP4 PGMPAGTB+PGMPTELN*192 THE FOURTH QUARTER OF THE PAGTB STARTS AT THIS OFFSET INTO THE PGMBK 00000000 PGMOFPAG PGMPAGTB-PGMBK OFFSET OF PAGTB IN PGMBK 0400 1024 Signed 4 PGMPGSTB (256) PAGE STATUS TABLE. 256 ENTRIES, 4 BYTES IN EACH ENTRY. EACH ENTRY DESCRIBES THE STATUS OF THE VIRTUAL STORAGE. THE DEFINITION OF ONE ENTRY IS CONTAINED IN THE HCPPGSTE COPY FILE. 00000004 PGMPGSLN 4 LENGTH OF A PAGE STATUS TABLE ENTRY IN THE PGMPAGTB (IN BYTES) 00000404 PGMPSTP1 PGMPGSTB+PGMPGSLN OFFSET OF THE 2ND ENTRY IN THE PGSTB, USED FOR AN MVC TO COPY THE FIRST ENTRY THRU THE REST OF THE FIRST QUARTER OF THE PGSTB 00000500 PGMPSTP2 PGMPGSTB+PGMPGSLN*64 THE SECOND QUARTER OF THE PGSTB STARTS AT THIS OFFSET INTO THE PGMBK 00000600 PGMPSTP3 PGMPGSTB+PGMPGSLN*128 THE THIRD QUARTER OF THE PAGTB STARTS AT THIS OFFSET INTO THE PGMBK 00000700 PGMPSTP4 PGMPGSTB+PGMPGSLN*192 THE FOURTH QUARTER OF THE PGSTB STARTS AT THIS OFFSET INTO THE PGMBK 00000400 PGMOFPGS PGMPGSTB-PGMBK OFFSET OF PGSTB IN PGMBK 0800 2048 Signed 4 PGMASATB (256) AUXILIARY STORAGE ADDRESS TABLE. 256 ENTRIES, 4 BYTES IN EACH ENTRY. EACH ENTRY IS THE LOCATION ON AUXILIARY STORAGE WHERE THE VIRTUAL STORAGE IS BACKED UP. THE DEFINITION OF ONE ENTRY IS CONTAINED IN THE HCPASATE COPY FILE. 00000800 PGMOFASA PGMASATB-PGMBK OFFSET OF ASATB IN PGMBK 00000800 PGMPABSZ *-PGMPGSTB SIZE OF PGSTB AND ASATB IN BYTES 0C00 3072 Bitstring 32 PGMPRBNM BIT MAP TO INDICATE IF THE ASA IS A POOL-RELATIVE-BLOCK-NUMBER. IF THE BIT IS ONE THEN THE ASA IS A PRBN. THERE ARE 256 ASAs. 0C20 3104 Signed 4 PGMVM VMDBK ADDRESS OF PGMBK OWNER (OR SNTBK ADDRESS FOR A SHARED SEGMENT OR SYSTEM OR DUMMY VMDBK FOR AN ADDRESS SPACE) 0C24 3108 Signed 4 PGMUVIRT VIRTUAL ADDRESS OF STORAGE DESCRIBED BY THIS BLOCK 0C28 3112 Signed 4 PGMMIGCT COUNT OF PAGES CURRENTLY BEING MIGRATED FROM XSTORE TO DASD 0C2C 3116 Address 4 PGMDEFAN DEFERRED PAGE TRANSLATIONS QUEUE ANCHOR (POINTS TO CPEBK OR 0) 0C30 3120 Signed 4 PGMBKLK PGMBK multiple PTE serialization lock. This lock must be held when obtaining or releasing page serialization for multiple PTEs to prevent deadlocks. It also serializes the PGMBK page serialization deferral queue based at PGMDEFAN. It contains 0 when the lock is available, or the address of the CS loop that obtained the lock in the routine that currently holds the lock. Note that PGMBKLK does NOT serialize the PGMBK itself in any way. The high order halfword of the PGMFRMCT field is used (via the HCPLKPGM and HCPULPGM macros) to lock the PGMBK itself into storage. 0C34 3124 Signed 4 PGMSNTCT COUNT OF USERS SHARING THIS MEGABYTE 0C38 3128 Bitstring 1 PGMSTAT STATUS INDICATORS 1... .... PGMSVSEG X'80' PGMBK REPRESENTS STORAGE FOR A SAVED SEGMENT .1.. .... PGMIGRTE X'40' PGMBK WAS PAGED IN DURING XSTORE MIGRATION 0C39 3129 Bitstring 1 * RESERVED FOR FUTURE IBM USE 0C3A 3130 Signed 2 PGMEPOCH Epoch for this PGMBK. The time stamps in this PGMBK have been adjusted to this epoch. 0C3C 3132 Signed 4 PGMXSTCT COUNT OF XSTORE PTE'S 0C40 3136 Signed 4 PGMALTPT Pointer to the alternate PGMBK which contains the source alternate PTEs for any target alternate PTEs (with PGSALTPT set) in this PGMBK. 0C44 3140 Address 4 PGMASCBK ASCBK ADDRESS. 0C48 3144 Signed 4 PGMFRMCT Frames in use count in low-order halfword and PGMBK lock count in high-order halfword. Update counts using Compare and Swap logic. 0C4C 3148 Address 4 PGMMPEBK ADDRESS OF THE MINIDISK POOL EXTENT BLOCK FOR CONVERTING AN ASA INTO A CCHHR. The following two fields are covered by the VMDUFOLK. They are used for sorting FRMTEs during steal. 0C50 3152 Address 4 PGMNXPGM ADDRESS OF THE NEXT PGMBK IN THE 'SORT' PGMBK LIST. X'00000000'- IF THE PGMBK DOESN'T RESIDES ON THE LIST, X'FFFFFFFF' TERMINATES THE LIST. 0C54 3156 Address 4 PGMLTFRM POINTS TO THE LAST FRMTE CHAINED FOR THIS PGMBK. 0C58 3160 Signed 4 * RESERVED FOR IBM USE. 0C5C 3164 Signed 4 PGMPA4EX Virtual Free Storage Manager virtual address of saved copy of the original PGSTB/ASATB for this megabyte - only used in NSS/DCSS saved segment STLBK PGMBKs for megabytes which contain shared writeable pages. The saved ASATEs point to the original spool slots, so that original shared writeable page contents can be provided for non-shared loads. Must be zero in normal user PGMBKs or STLBK PGMBKs which do not contain any shared writeable pages. 0C60 3168 Signed 8 PGMSITOD TOD CLOCK VALUE AT WHICH THE SEGTE FOR THIS PAGEABLE PGMBK WAS INVALIDATED. 0C68 3176 Signed 4 PGMMTARG MIGRATE TARGET LAST USED AGAINST THIS PGMBK 0C6C 3180 Signed 4 PGMSEGTE Address of the SEGTE associated with this PGMBK (valid only for "live" PGMBKs associated with attached SEGTEs; may be zero otherwise). 0C70 3184 Signed 4 PGMPTLNG Page table length field for this PGMBK, in SEGTE SEGPTLNG format (SEGPTLNG value in bits 28-31, all other PGMPTLNG bits are 0). Used to restore the SEGPTLNG field value when validating or clearing the SEGTE. STEPTLNG bits are redefined as status bits when the PGMBK is paged out (the STE is invalid with SEGINVAL=1 and also contains a PTRM "virtual address"). Valid only when PGMSEGTE is non- zero, indicating that the PGMBK is associated with an attached SEGTE. 0C74 3188 Signed 4 * (99) Reserved for IBM use 0E00 3584 Signed 2 PGMAUXTB (256) AUXILIARY TABLE. CONTAINS 256 HW TIME STAMP ENTRIES THAT CORRESPOND TO THE TIME THE PAGE WAS MOVED TO XSTORE. 00001000 PGMBKLEN (*-PGMBK) SIZE OF PGM BLOCK IN BYTES 00000200 PGMBKSIZ (*-PGMBK+7)/8 SIZE OF PGM BLOCK IN DOUBLEWORDS The following macro invocation ensures the length of the PGMBK is exactly 4096 bytes (one 4K page). 1000 4096 Address 4 * (0) N)))) IEV075 will result if PGMBKLEN NE 4096 @P3714FM (GIVES ASSEMBLY ERROR IF NOT A FULL-PAGE LENGTH)

 

PGMBK Storage Layout

*** PGMBK - PAGE MANAGEMENT BLOCK
*
*     +-------------------------------------------------------+
*   0 |                                                       |
*     =                       PGMPAGTB                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 400 |                                                       |
*     =                       PGMPGSTB                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 800 |                                                       |
*     =                       PGMASATB                        =
*     |                                                       |
*     +-------------------------------------------------------+
* C00 |                                                       |
*     =                       PGMPRBNM                        =
*     |                                                       |
*     +---------------------------+---------------------------+
* C20 |          PGMVM            |         PGMUVIRT          |
*     +---------------------------+---------------------------+
* C28 |         PGMMIGCT          |         PGMDEFAN          |
*     +---------------------------+---------------------------+
* C30 |         PGMBKLK           |         PGMSNTCT          |
*     +------+------+-------------+---------------------------+
* C38 |:STAT |//////|  PGMEPOCH   |         PGMXSTCT          |
*     +------+------+-------------+---------------------------+
* C40 |         PGMALTPT          |         PGMASCBK          |
*     +---------------------------+---------------------------+
* C48 |         PGMFRMCT          |         PGMMPEBK          |
*     +---------------------------+---------------------------+
* C50 |         PGMNXPGM          |         PGMLTFRM          |
*     +---------------------------+---------------------------+
* C58 |///////////////////////////|         PGMPA4EX          |
*     +---------------------------+---------------------------+
* C60 |                       PGMSITOD                        |
*     +---------------------------+---------------------------+
* C68 |         PGMMTARG          |         PGMSEGTE          |
*     +---------------------------+---------------------------+
* C70 |         PGMPTLNG          |///////////////////////////|
*     +---------------------------+///////////////////////////|
* C78 |///////////////////////////////////////////////////////|
*     =///////////////////////////////////////////////////////=
*     |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
* E00 |                                                       |
*     =                       PGMAUXTB                        =
*     |                                                       |
*     +-------------------------------------------------------+
*1000
*
*** PGMBK - PAGE MANAGEMENT BLOCK

 

PGMBK Cross Reference

(contains links to field and bit definitions)
Symbol         Dspl Value
-------------- ---- -----

PGMALTPT 0C40

PGMASATB 0800

PGMASCBK 0C44

PGMAUXTB 0E00

PGMBKLEN 0E00 00001000

PGMBKLK 0C30

PGMBKSIZ 0E00 00000200

PGMDEFAN 0C2C

PGMEPOCH 0C3A

PGMFRMCT 0C48

PGMIGRTE 0C38 40

PGMLTFRM 0C54

PGMMIGCT 0C28

PGMMPEBK 0C4C

PGMMTARG 0C68

PGMNXPGM 0C50

PGMOFASA 0800 00000800

PGMOFPAG 0000 00000000

PGMOFPGS 0400 00000400

PGMPABSZ 0800 00000800

PGMPAGTB 0000

PGMPA4EX 0C5C

PGMPGSLN 0400 00000004

PGMPGSTB 0400

PGMPRBNM 0C00

PGMPSTP1 0400 00000404

PGMPSTP2 0400 00000500

PGMPSTP3 0400 00000600

PGMPSTP4 0400 00000700

PGMPTBP1 0000 00000004

PGMPTBP2 0000 00000100

PGMPTBP3 0000 00000200

PGMPTBP4 0000 00000300

PGMPTELN 0000 00000004

PGMPTLNG 0C70

PGMSEGTE 0C6C

PGMSITOD 0C60

PGMSNTCT 0C34

PGMSTAT 0C38

PGMSVSEG 0C38 80

PGMUVIRT 0C24

PGMVM 0C20

PGMXSTCT 0C3C


This information is based on VM/ESA 2.4.0.
Last updated on 3 Aug 1999 at 12:22:48 EDT.
Copyright IBM Corporation, 1990, 1999