PGM64 | Back to Index page

| Prolog Control Block Contents PGM64 DSECT Storage Layout Cross Reference (Contains links to field and bit definitions) |
Programming Interface Information: This information is NOT intended to be used as Programming Interfaces of z/VM.

PGM64 Control Block Content | Top of page

     PGM64 DSECT
    Top of page

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      PGM64          Page Management Block
    0000    0 Bitstring    1 PGM64PG0 (4096)
                                            First page of PGMBK
    1000 4096 Bitstring    1 PGM64PG1 (4096)
                                            Second page of PGMBK
              00002000       PGMGBKLN       (*-PGM64) Size of PGMBK in bytes
              00000400       PGMGBKSZ       (*-PGM64+7)/8 Size of PGMBK in
                                            DWs
    0000    0 Dbl-Word     8 PGMGMISC (128) Miscellaneous PGMBK fields.
                                            Contains fields global to the
                                            entire PGMBK and/or the entire
                                            megabyte of virtual storage.
    0400 1024 Signed       4 PGMGPAUX (256) Auxiliary page status table -
                                            contains 256 4 byte entries each
                                            corresponding to one
                                            PTE/PGSTE/ASATE set (VPGBK).
                                            Currently used to hold pin
                                            overflow counts. Each entry is
                                            mapped by PGAUX in HCPPGSTE COPY.
    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 a z/Architecture
                                            Page- Table Entry (in bytes)
              0000F000       PGMPTEM        X'F000' NILL mask to isolate the
                                            PGMBK HRA given the PTE address
              0000000C       PGMPTES        12 SRL/SLL number of bits to
                                            shift to give the PGMBK address
              0000F800       PGMPTOM        X'F800' NILL mask to isolate the
                                            PTO HRA given the PTE address
              0000000B       PGMPTOS        11 SRL/SLL number of bits to
                                            shift to give the PTO address
              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 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 PGSTB in
                                            PGMBK
              00000008       PGMGPSTL       8 Length of a z/Architecture 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 a z/Architecture ASA
                                            table entry (in bytes)
              00001800       PGMGASAO       PGMGASAT-PGM64 Offset of ASATB in
                                            PGMBK
              00001000       PGMGPABS       *-PGMGPSTB Size of PGSTB and
                                            ASATB in bytes
    0000    0 Signed       4 PGMGVM         VMDBK address of PGMBK owner -
                                            SYSTEM VMDBK address for an
                                            NSS/DCSS shared segment PGBMBK,
                                            the SNTBK can be found via
                                            PGMGASCB-> ASCBK field
                                            ASCSNTBK. For exclusive imbedded
                                            NSS/DCSS segments, points to the
                                            user VMDBK.
    0004    4 Signed       4 *              Reserved for IBM use
    0008    8 Dbl-Word     8 PGMGVIRT       Virtual address of segment
                                            described by this block (contains
                                            Rx and Sx only)
    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).
                                            Serialized by PGMPDQLK
    0018   24 Signed       4 PGMPDQLK       Page serialization deferral queue
                                            lock. Serializes the PGMBK page
                                            serialization deferral queue
                                            based at PGMGDEFA. Lock is
                                            obtained and released by HCPPTEDR
                                            and HCPPTERD as needed. HCPPGSER
                                            with IFHELD=MUSTHAVE invokes
                                            HCPPTEDR when deferring. HCPPGSER
                                            with REDRIVE=YES invokes HCPPTERD
                                            when redriving.
                                      Note that PGMPDQLK 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' PGMGSVSE PGMBK represents
                                            storage for an NSS/DCSS saved
                                            segment. PGMGSVSE is set for all
                                            NSS/DCSS PGMBKs regardless of
                                            whether the segment is imbedded
                                            shared or exclusive.
              .1.. ....      PGMGIGRT       X'40' PGMGIGRT PGMBK WAS PAGED IN
                                            DURING XSTORE MIGRATION
              ..1. ....      PGMNOOWN       X'20' PGMNOOWN Indicates PGMBK is
                                            no-owned
    0021   33 Bitstring    1 *              Reserved for IBM use
    0022   34 Signed       2 *              Reserved for IBM use
    0024   36 Signed       4 PGMGXSTC       Count of PTEs with pages in
                                            xstore
    0028   40 Dbl-Word     8 PGMNOQFP       No-owned PGMBK queue forward
                                            pointer
    0030   48 Dbl-Word     8 PGMNOQBP       No-owned PGMBK queue backward
                                            pointer
    0038   56 Address      8 PGMGALTP       HRA of the alternate PGMBK which
                                            contains the source alternate
                                            PTEs for any target alternate
                                            PTEs (with PGSALTPT set) in this
                                            PGMBK.
    0040   64 Signed       4 PGMNOLCK       No-owned processing lock. This
                                            lock is obtained via CS, but it
                                            is not a typical CS spin lock.
                                            The only task which can spin
                                            obtaining PGMNOLCK is the full
                                            segment release "make no-owned"
                                            processing in HCPHPCPR. Other
                                            places which obtain the lock may
                                            not spin, and must defer or skip
                                            any processing of resources in
                                            the PGMBK if the lock cannot be
                                            obtained without spinning.
    0044   68 Signed       4 PGMGASCB       ASCBK address. For imbedded
                                            NSS/DCSS segments, points to the
                                            NSS/DCSS dummy ASCBK if the
                                            segment is loaded shared, but
                                            points to the user ASCBK if the
                                            segment is loaded exclusive
                                            (either defined as exclusive, or
                                            loaded exclusive via the LOADNSHR
                                            subcode).
    0048   72 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.
    004C   76 Signed       4 PGMGMPEB       Address of the Minidisk Pool
                                            Extent block for converting a
                                            PRBN ASA into CCHHR.
    0050   80 Address      8 *              Reserved for IBM use.
    0058   88 Address      8 *              Reserved for IBM use.
    0060   96 Signed       4 PGMPSSQ        Queue for PTE sequential
                                            serialization (See HCPPSSPR for
                                            details.)
    0064  100 Bitstring    1 PGMPSSQL       Spin lock for PGMPSSQ X'00' -
                                            Lock not held
    0065  101 Bitstring    3 *              Reserved for IBM use.
    0068  104 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.
    006C  108 Signed       4 PGMGMTAR       Migrate target age last used
                                            against this PGMBK
    0070  112 Address      8 PGMGSTE        64-bit HRA 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.
                                      For imbedded NSS/DCSS segments,
                                      points to the NSS/DCSS STLTE if
                                      the segment is loaded shared,
                                      but points to the user segment
                                      table STE if the segment is
                                      loaded exclusive (either defined
                                      as exclusive, or loaded
                                      exclusive via the LOADNSHR
                                      subcode).
    0078  120 Address      8 PGMGPPTE       Address of PTRM PTE when PGMBK is
                                            connected to a PTRM space.
    0080  128 Dbl-Word     8 PGMCRTOD       TOD clock value at which this
                                            PGMBK was first created
    0088  136 Dbl-Word     8 PGMSVTOD       TOD clock value at which the
                                            SEGTE for this pageable PGMBK was
                                            last validated. May differ from
                                            PGMPVTOD.
    0090  144 Dbl-Word     8 PGMPVTOD       TOD clock value at which the PTRM
                                            PTE for this pageable PGMBK was
                                            last validated. May differ from
                                            PGMSVTOD.
    0098  152 Dbl-Word     8 PGMSITOD       TOD clock value at which the
                                            SEGTE for this pageable PGMBK was
                                            invalidated (for either paging or
                                            release). Should always equal
                                            PGMPITOD.
    00A0  160 Dbl-Word     8 PGMPITOD       TOD clock value at which the PTRM
                                            PTE for this pageable PGMBK was
                                            last invalidated. Should always
                                            equal PGMSITOD.
    00A8  168 Address      8 *              Reserved for IBM use.
    00B0  176 Address      8 *              Reserved for IBM use.
    00B8  184 Signed       4 *              Reserved for IBM use.
    00BC  188 Signed       4 *              Reserved for IBM use.
    00C0  192 Signed       4 *              Reserved for IBM use.
    00C4  196 Signed       4 *              Reserved for IBM use.
    00C8  200 Signed       4 *              Reserved for IBM use.
    00CC  204 Signed       4 *              Reserved for IBM use.
    00D0  208 Signed       4 PGMPTEWT       Count of outstanding asynchronous
                                            requests for PTE processing
                                            during VMRELOCATE. Incremented
                                            before stacked request.
                                            Decremented when PTE
                                            serialization queue is processed
                                            by HCPRLMPQ. Serialized by using
                                            compare and swap logic.
    00D4  212 Signed       4 PGMPIURL       Count of pages "in use" for
                                            VMRELOCATE. Incremented when PTE
                                            serialization is obtained or
                                            deferred by live guest
                                            relocation. Decremented when PTE
                                            serialization is released by LGR.
                                            Serialized by using compare and
                                            swap logic. A non-zero value in
                                            this field will prevent the PGMBK
                                            from being stolen.
    00D8  216 Signed       2 PGMACTCT       Number of resident frames in the
                                            UFO active list
    00DA  218 Signed       2 PGMIBRCT       Number of resident frames in the
                                            UFO IBR list
    00DC  220 Signed       2 PGMAGLCT       Number of resident frames on the
                                            global IBR Aging List
    00DE  222 Signed       2 *              Reserved for IBM use
    00E0  224 Bitstring   32 PGMPTEDF       1 bit per page; '1' indicates
                                            that at least one task, chained
                                            on the PGMGDEFA chain, is
                                            deferred trying to get
                                            serialization for the associated
                                            page.
              00000100       PGMrsrv        *,(128*8-(*-PGMGMISC))
    0100  256 Bitstring    1 * (768)        Reserved for IBM use.
    0400 1024 Bitstring    1 * (0)          Where it ends
              00000400       PGMMSCLN       (*-PGMGVM) Size of common area in
                                            bytes

PGM64 Storage Layout | Top of page

    *** PGM64 - Page Management Block
    *
    *     +-------------------------------------------------------+
    *   0 |                                                       |
    *     =                       PGM64PG0                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    *1000 |                                                       |
    *     =                       PGM64PG1                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    *2000
    *
    *** PGM64 - Page Management Block

    *** Overlay for PGM64PG0 in PGM64
    *
    *     +-------------------------------------------------------+
    *   0 |                                                       |
    *     =                       PGMGMISC                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    * 400 |                                                       |
    *     =                       PGMGPAUX                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    * 800 |                                                       |
    *     =                       PGMGPGTB                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    *1000
    *
    *** 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 |         PGMPDQLK          |         PGMGSNTU          |
    *     +------+------+-------------+---------------------------+
    *  20 |:GSTAT|//////|/////////////|         PGMGXSTC          |
    *     +------+------+-------------+---------------------------+
    *  28 |                       PGMNOQFP                        |
    *     +-------------------------------------------------------+
    *  30 |                       PGMNOQBP                        |
    *     +-------------------------------------------------------+
    *  38 |                       PGMGALTP                        |
    *     +---------------------------+---------------------------+
    *  40 |         PGMNOLCK          |         PGMGASCB          |
    *     +---------------------------+---------------------------+
    *  48 |         PGMGFRMC          |         PGMGMPEB          |
    *     +---------------------------+---------------------------+
    *  50 |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    *  58 |///////////////////////////////////////////////////////|
    *     +---------------------------+------+--------------------+
    *  60 |         PGMPSSQ           |:PSSQL|////////////////////|
    *     +---------------------------+------+--------------------+
    *  68 |         PGMGP4EX          |         PGMGMTAR          |
    *     +---------------------------+---------------------------+
    *  70 |                       PGMGSTE                         |
    *     +-------------------------------------------------------+
    *  78 |                       PGMGPPTE                        |
    *     +-------------------------------------------------------+
    *  80 |                       PGMCRTOD                        |
    *     +-------------------------------------------------------+
    *  88 |                       PGMSVTOD                        |
    *     +-------------------------------------------------------+
    *  90 |                       PGMPVTOD                        |
    *     +-------------------------------------------------------+
    *  98 |                       PGMSITOD                        |
    *     +-------------------------------------------------------+
    *  A0 |                       PGMPITOD                        |
    *     +-------------------------------------------------------+
    *  A8 |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    *  B0 |///////////////////////////////////////////////////////|
    *     +---------------------------+---------------------------+
    *  B8 |///////////////////////////|///////////////////////////|
    *     +---------------------------+---------------------------+
    *  C0 |///////////////////////////|///////////////////////////|
    *     +---------------------------+---------------------------+
    *  C8 |///////////////////////////|///////////////////////////|
    *     +---------------------------+---------------------------+
    *  D0 |         PGMPTEWT          |         PGMPIURL          |
    *     +-------------+-------------+-------------+-------------+
    *  D8 |  PGMACTCT   |  PGMIBRCT   |  PGMAGLCT   |/////////////|
    *     +-------------+-------------+-------------+-------------+
    *  E0 |                                                       |
    *     =                       PGMPTEDF                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    * 100 |///////////////////////////////////////////////////////|
    *     =///////////////////////////////////////////////////////=
    *     |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    * 400
    *
    *** Overlay for PGMGMISC in PGM64

PGM64 Cross Reference | Top of page

    Symbol         Dspl Value
    -------------- ---- -----
    PGMrsrv        00E0 00000100
    PGMACTCT       00D8
    PGMAGLCT       00DC
    PGMCRTOD       0080
    PGMGALTP       0038
    PGMGASAL       1800 00000008
    PGMGASAO       1800 00001800
    PGMGASAT       1800
    PGMGASCB       0044
    PGMGBKLN       1000 00002000
    PGMGBKSZ       1000 00000400
    PGMGDEFA       0014
    PGMGFRMC       0048
    PGMGIGRT       0020 40
    PGMGMIGP       0010
    PGMGMISC       0000
    PGMGMPEB       004C
    PGMGMTAR       006C
    PGMGPABS       1800 00001000
    PGMGPAUX       0400
    PGMGPGTB       0800
    PGMGPPTE       0078
    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       0068
    PGMGSNTU       001C
    PGMGSTAT       0020
    PGMGSTE        0070
    PGMGSVSE       0020 80
    PGMGVIRT       0008
    PGMGVM         0000
    PGMGXSTC       0024
    PGMIBRCT       00DA
    PGMMSCLN       0400 00000400
    PGMNOLCK       0040
    PGMNOOWN       0020 20
    PGMNOQBP       0030
    PGMNOQFP       0028
    PGMPDQLK       0018
    PGMPITOD       00A0
    PGMPIURL       00D4
    PGMPSSQ        0060
    PGMPSSQL       0064
    PGMPTEDF       00E0
    PGMPTEM        0800 0000F000
    PGMPTES        0800 0000000C
    PGMPTEWT       00D0
    PGMPTOM        0800 0000F800
    PGMPTOS        0800 0000000B
    PGMPVTOD       0090
    PGMSITOD       0098
    PGMSVTOD       0088
    PGM64PG0       0000
    PGM64PG1       1000

This information is based on z/VM 7.2.0 Last updated on 24 Jun 2020 at 09:29:37 EDT.
Copyright IBM Corporation, 1990, 2020