Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.

PGM64

Prolog  

Control Block Contents  
   PGM64 DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


 

PGM64 Control Block Content


PGM64 DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      PGM64          Page Management Block
0000    0 Bitstring    1 PGM64PG0 (4096)
                                        First page of ESAME PGMBK
0000    0 Dbl-Word     8 PGMGMISC (256) Miscallaneous ESAME mode PGMBK
                                        fields. Contains fields global to
                                        the entire PGMBK and/or the
                                        entire megabyte of virtual
                                        storage.
0800 2048 Dbl-Word     8 PGMGPGTB (256) Page-Table - contains 256 8 byte
                                        Page-Table Entries. Each entry is
                                        used to describe 4K of virtual
                                        storage. The complete 256 entry
                                        table describes 1 Megabyte of
                                        host virtual storage (whether
                                        guest or system owned). The
                                        architected definition of a
                                        Page-Table entry is contained in
                                        the HCPPAGTE COPY file.
          00000008       PGMGPTEL       8 Length of an ESAME mode Page-
                                        Table Entry (in bytes)
          00000808       PGMGPTBP1      PGMGPGTB+PGMGPTEL Offset of the
                                        2nd entry in the PAGTB, used for
                                        an MVC to copy the first entry
                                        thru the rest of the first eighth
                                        of the PAGTB
          00000900       PGMGPTBP2      PGMGPGTB+PGMGPTEL*32 2nd eighth
                                        of the PAGTB
          00000A00       PGMGPTBP3      PGMGPGTB+PGMGPTEL*64 3rd eighth
                                        of the PAGTB
          00000B00       PGMGPTBP4      PGMGPGTB+PGMGPTEL*96 4th eighth
                                        of the PAGTB
          00000C00       PGMGPTBP5      PGMGPGTB+PGMGPTEL*128 5th eighth
                                        of the PAGTB
          00000D00       PGMGPTBP6      PGMGPGTB+PGMGPTEL*160 6th eighth
                                        of the PAGTB
          00000E00       PGMGPTBP7      PGMGPGTB+PGMGPTEL*192 7th eighth
                                        of the PAGTB
          00000F00       PGMGPTBP8      PGMGPGTB+PGMGPTEL*224 8th eighth
                                        of the PAGTB
1000 4096 Bitstring    1 PGM64PG1 (4096)
                                        Second page of ESAME PGMBK
1000 4096 Dbl-Word     8 PGMGPSTB (256) Page Status Table. 256 entries, 8
                                        bytes per entry. Each entry
                                        describes the status of one 4K
                                        page of host virtual storage. The
                                        definition of a Page Status Table
                                        entry is contained in the
                                        HCPPGSTE COPY file.
          00001000       PGMGPSTO       PGMGPSTB-PGM64 Offset of ESAME
                                        PGSTB in PGMBK
          00000008       PGMGPSTL       8 Length of an ESAME mode page
                                        status table entry (in bytes)
          00001008       PGMGPSTP1      PGMGPSTB+PGMGPSTL Offset of the
                                        2nd entry in the PGSTB, used for
                                        an MVC to copy the first entry
                                        thru the rest of the first eighth
                                        of the PGSTB
          00001100       PGMGPSTP2      PGMGPSTB+PGMGPSTL*32 2nd eighth
                                        of the PGSTB
          00001200       PGMGPSTP3      PGMGPSTB+PGMGPSTL*64 3rd eighth
                                        of the PGSTB
          00001300       PGMGPSTP4      PGMGPSTB+PGMGPSTL*96 4th eighth
                                        of the PGSTB
          00001400       PGMGPSTP5      PGMGPSTB+PGMGPSTL*128 5th eighth
                                        of the PGSTB
          00001500       PGMGPSTP6      PGMGPSTB+PGMGPSTL*160 6th eighth
                                        of the PGSTB
          00001600       PGMGPSTP7      PGMGPSTB+PGMGPSTL*192 7th eighth
                                        of the PGSTB
          00001700       PGMGPSTP8      PGMGPSTB+PGMGPSTL*224 8th eighth
                                        of the PGSTB
1800 6144 Dbl-Word     8 PGMGASAT (256) Auxiliary Storage Address Table.
                                        256 entries, 8 bytes per entry.
                                        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.
          00000008       PGMGASAL       8 Length of an ESAME mode ASA
                                        table entry (in bytes)
          00001800       PGMGASAO       PGMGASAT-PGM64 Offset of ESAME
                                        ASATB in PGMBK
          00001000       PGMGPABS       *-PGMGPSTB Size of PGSTB and
                                        ASATB in bytes
          00002000       PGMGBKLN       (*-PGM64) Size of ESAME PGMBK in
                                        bytes
          00000400       PGMGBKSZ       (*-PGM64+7)/8 Size of ESAME PGMBK
                                        in DWs
0000    0 Signed       4 PGMGVM         VMDBK address of PGMBK owner (or
                                        SNTBK address for an NSS shared
                                        segment)
0004    4 Signed       4 *              Reserved for IBM use
0008    8 Dbl-Word     8 PGMGVIRT       Virtual address of storage
                                        described by this block
0010   16 Signed       4 PGMGMIGP       Count of pages currently being
                                        migrated from xstore to DASD
0014   20 Address      4 PGMGDEFA       Deferred page translations queue
                                        anchor (points to CPEBK or 0)
0018   24 Signed       4 PGMGBKLK       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 PGMGDEFA. 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 PGMGBKLK does NOT serialize the PGMBK itself in any way. The
     high order halfword of the PGMGFRMC field is used (via the HCPLKPGM and
     HCPULPGM macros) to lock the PGMBK itself into storage.
001C   28 Signed       4 PGMGSNTU       Count of users sharing this NSS
                                        shared segment megabyte
0020   32 Bitstring    1 PGMGSTAT       Status indicators
          1... ....      PGMGSVSE       X'80' PGMBK REPRESENTS STORAGE
                                        FOR A SAVED SEGMENT
          .1.. ....      PGMGIGRT       X'40' PGMBK WAS PAGED IN DURING
                                        XSTORE MIGRATION
0021   33 Bitstring    1 *              Reserved for IBM use
0022   34 Signed       2 PGMGEPOC       Epoch for this PGMBK. The time
                                        stamps in this PGMBK have been
                                        adjusted to this epoch.
0024   36 Signed       4 PGMGXSTC       Count of PTEs with pages in
                                        xstore
0028   40 Dbl-Word     8 * (0)
0028   40 Signed       4 *              Reserved for IBM use
002C   44 Signed       4 PGMGALTP       Pointer to the alternate PGMBK
                                        which contains the source
                                        alternate PTEs for any target
                                        alternate PTEs (with PGSALTPT
                                        set) in this PGMBK.
0030   48 Dbl-Word     8 * (0)
0030   48 Signed       4 *              Reserved for IBM use
0034   52 Signed       4 PGMGASCB       ASCBK address
0038   56 Signed       4 PGMGFRMC       Frames in use count in low-order
                                        halfword and PGMBK lock count in
                                        high-order halfword. Update
                                        counts using Compare and Swap
                                        logic.
003C   60 Signed       4 *              Reserved for IBM use.
0040   64 Dbl-Word     8 * (0)
0040   64 Signed       4 *              Reserved for IBM use
0044   68 Signed       4 PGMGMPEB       Address of the Minidisk Pool
                                        Extent block for converting a
                                        PRBN ASA into CCHHR.
     The following two fields are serialized by the available list
     replenishment demand scan lock, and are used to sort outbound FRMTEs
     for NSS/DCSS shared segment pages by segment (virtual address
     megabyte). They are not used for other types of pages (normal user page
     FRMTEs and VDISK FRMTEs are sorted by address space, but not megabyte,
     other non-blocked page FRMTEs are not sorted at all).
0048   72 Dbl-Word     8 * (0)
0048   72 Signed       4 *              Reserved for IBM use
004C   76 Address      4 PGMGNPGM       Address of the next PGMBK in the
                                        steal sort PGMBK list. Contains
                                        x'00000000' if the PGMBK is not
                                        yet on the list, x'FFFFFFFF' if
                                        the PGMBK is last on the list.
                                        Used only when processing
                                        NSS/DCSS shared segment FRMTEs.
0050   80 Dbl-Word     8 * (0)
0050   80 Signed       4 *              Reserved for IBM use
0054   84 Address      4 PGMGLFRM       Points to the last FRMTE so far
                                        chained (sorted) for this PGMBK.
                                        Used only when processing
                                        NSS/DCSS shared segment FRMTEs.
0058   88 Dbl-Word     8 * (0)
0058   88 Signed       4 *              Reserved for IBM use
005C   92 Signed       4 PGMGP4EX       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.
0060   96 Signed       8 PGMGITOD       TOD clock value at which the
                                        SEGTE for this pageable PGMBK was
                                        invalidated.
0068  104 Signed       4 PGMGMTAR       Migrate target last used against
                                        this PGMBK
006C  108 Signed       4 *              Reserved for IBM use.
0070  112 Dbl-Word     8 * (0)
0070  112 Signed       4 *              Reserved for IBM use
0074  116 Signed       4 PGMGSEGT       Address of the STE associated
                                        with this PGMBK (valid only for
                                        "live" PGMBKs associated with
                                        attached STEs; may be zero
                                        otherwise). In pageable PGMBKs,
                                        is only reliable if the PGMBK is
                                        resident and attached to the STE
                                        and at least a share of VMDPTIL
                                        is held or if serialization
                                        (VMDPTIL and/or PTRM PTE PCL) has
                                        been held continuously since the
                                        STE was invalidated (to keep the
                                        segment table from being moved).
                                        Must be set to the current STE
                                        address whenever the STE is
                                        validated, and must be relocated
                                        for any valid STEs and/or valid
                                        PTRM PTEs whenever a segment
                                        table is moved.
0078  120 Signed       4 *              Reserved for IBM use.
007C  124 Signed       4 PGMGPPTE       Address of PTRM PTE when PGMBK is
                                        connected to a PTRM space.
0080  128 Dbl-Word     8 * (240)        Reserved for IBM use.
          00000800       PGMMSCLN       (*-PGMGVM) Size of common area in
                                        bytes
     The following CKMAINT macro invocation ensures that the length of the
     ESAME format PGMBK common area is exactly 2048 bytes in length. CKMAINT
     will cause an assembly error if the length equate, PGMMSCLN, is not
     exactly equal to 2048.
     The following CKMAINT macro invocation ensures that the length of the
     ESAME format PGMBK is exactly 8192 bytes (two contiguous 4K pages).
     CKMAINT will cause an assembly error if the ESAME PGMBK length equate,
     PGMGBKLN, is not exactly equal to 8192.

 

PGM64 Storage Layout

          
*** PGM64 - Page Management Block
*
*     +-------------------------------------------------------+
*   0 |                                                       |
*     =                       PGM64PG0                        =
*     |                                                       |
*     +-------------------------------------------------------+
*1000
*
*** PGM64 - Page Management Block
          
*** Overlay for PGM64PG0 in PGM64
*
*     +-------------------------------------------------------+
*   0 |                                                       |
*     =                       PGMGMISC                        =
*     |                                                       |
*     +-------------------------------------------------------+
* 800 |                                                       |
*     =                       PGMGPGTB                        =
*     |                                                       |
*     +-------------------------------------------------------+
*1000 |                                                       |
*     =                       PGM64PG1                        =
*     |                                                       |
*     +-------------------------------------------------------+
*2000
*
*** Overlay for PGM64PG0 in PGM64
          
*** Overlay for PGM64PG1 in PGM64
*
*     +-------------------------------------------------------+
*1000 |                                                       |
*     =                       PGMGPSTB                        =
*     |                                                       |
*     +-------------------------------------------------------+
*1800 |                                                       |
*     =                       PGMGASAT                        =
*     |                                                       |
*     +-------------------------------------------------------+
*2000
*
*** Overlay for PGM64PG1 in PGM64
          
*** Overlay for PGMGMISC in PGM64
*
*     +---------------------------+---------------------------+
*   0 |          PGMGVM           |///////////////////////////|
*     +---------------------------+---------------------------+
*   8 |                       PGMGVIRT                        |
*     +---------------------------+---------------------------+
*  10 |         PGMGMIGP          |         PGMGDEFA          |
*     +---------------------------+---------------------------+
*  18 |         PGMGBKLK          |         PGMGSNTU          |
*     +------+------+-------------+---------------------------+
*  20 |:GSTAT|//////|  PGMGEPOC   |         PGMGXSTC          |
*     +------+------+-------------+---------------------------+
*  28 |///////////////////////////|         PGMGALTP          |
*     +---------------------------+---------------------------+
*  30 |///////////////////////////|         PGMGASCB          |
*     +---------------------------+---------------------------+
*  38 |         PGMGFRMC          |///////////////////////////|
*     +---------------------------+---------------------------+
*  40 |///////////////////////////|         PGMGMPEB          |
*     +---------------------------+---------------------------+
*  48 |///////////////////////////|         PGMGNPGM          |
*     +---------------------------+---------------------------+
*  50 |///////////////////////////|         PGMGLFRM          |
*     +---------------------------+---------------------------+
*  58 |///////////////////////////|         PGMGP4EX          |
*     +---------------------------+---------------------------+
*  60 |                       PGMGITOD                        |
*     +---------------------------+---------------------------+
*  68 |         PGMGMTAR          |///////////////////////////|
*     +---------------------------+---------------------------+
*  70 |///////////////////////////|         PGMGSEGT          |
*     +---------------------------+---------------------------+
*  78 |///////////////////////////|         PGMGPPTE          |
*     +---------------------------+---------------------------+
*  80 |///////////////////////////////////////////////////////|
*     =///////////////////////////////////////////////////////=
*     |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
* 800
*
*** Overlay for PGMGMISC in PGM64

 

PGM64 Cross Reference

Symbol         Dspl Value
-------------- ---- -----
PGMGALTP       002C
PGMGASAL       1800 00000008
PGMGASAO       1800 00001800
PGMGASAT       1800
PGMGASCB       0034
PGMGBKLK       0018
PGMGBKLN       1800 00002000
PGMGBKSZ       1800 00000400
PGMGDEFA       0014
PGMGEPOC       0022
PGMGFRMC       0038
PGMGIGRT       0020 40
PGMGITOD       0060
PGMGLFRM       0054
PGMGMIGP       0010
PGMGMISC       0000
PGMGMPEB       0044
PGMGMTAR       0068
PGMGNPGM       004C
PGMGPABS       1800 00001000
PGMGPGTB       0800
PGMGPPTE       007C
PGMGPSTB       1000
PGMGPSTL       1000 00000008
PGMGPSTO       1000 00001000
PGMGPSTP1      1000 00001008
PGMGPSTP2      1000 00001100
PGMGPSTP3      1000 00001200
PGMGPSTP4      1000 00001300
PGMGPSTP5      1000 00001400
PGMGPSTP6      1000 00001500
PGMGPSTP7      1000 00001600
PGMGPSTP8      1000 00001700
PGMGPTBP1      0800 00000808
PGMGPTBP2      0800 00000900
PGMGPTBP3      0800 00000A00
PGMGPTBP4      0800 00000B00
PGMGPTBP5      0800 00000C00
PGMGPTBP6      0800 00000D00
PGMGPTBP7      0800 00000E00
PGMGPTBP8      0800 00000F00
PGMGPTEL       0800 00000008
PGMGP4EX       005C
PGMGSEGT       0074
PGMGSNTU       001C
PGMGSTAT       0020
PGMGSVSE       0020 80
PGMGVIRT       0008
PGMGVM         0000
PGMGXSTC       0024
PGMMSCLN       0080 00000800
PGM64PG0       0000
PGM64PG1       1000

This information is based on z/VM V4R2.0. Last updated on 17 Oct 2001 at 15:59:23 EDT.
Copyright IBM Corporation, 1990, 2001