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

#### VPG64

Prolog

Control Block Contents
VPG64 DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### VPG64 Control Block Content

#### VPG64 DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      VPG64          VIRTUAL PAGE BLOCK
    0000    0 Dbl-Word     8 VPGGPAG        Page Table Entry
    0008    8 Dbl-Word     8 VPGGNEXT (0)   Address for next VPGBK
    0008    8 Dbl-Word     8 * (255)
    0800 2048 Dbl-Word     8 VPGGPGS        Page Status Table Entry
    0808 2056 Dbl-Word     8 * (255)
    1000 4096 Dbl-Word     8 VPGGASA        Auxiliary Storage Address Entry
    1008 4104 Dbl-Word     8 * (255)
            Mapping for a PAG64 (PTE)
    0000    0 Dbl-Word     8 VPGGPTE (0)    VPGBK Page Table Entry
    0000    0 Dbl-Word     8 VPGGPNTR       Hardware Page Table Entry
    0000    0 Signed       4 VPGGPTE0       Word 0 of PTE
    0004    4 Signed       4 VPGGPTE1       Word 1 of PTE
    0000    0 Signed       2 VPGGPLNK       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.
    0002    2 Signed       2 *              Reserved for IBM use
    0004    4 Signed       4 *              Reserved for IBM use
    0000    0 Signed       4 VPGGXSBN       Xstore block number if PTE is not
                                            valid and PGSXSTOR is b'1'
    0004    4 Bitstring    1 VPGGXSTS (20)  Xstore time stamp (lowest 20
                                            bits)
    0018   24 Bitstring    1 * (4)          Reserved for IBM use
    001C   28 Bitstring    1 *              Reserved for IBM use
    0000    0 Signed       4 *              Bits 0-31 of PFRA
    0004    4 Signed       2 *              Bits 32-47 of PFRA
    0006    6 Bitstring    1 VPGGPSTA       Bits 48-51 of PFRA For a
                                            valid-in-real-storage PTE, bits
                                            52 and 55 must be zero. Bits 53
                                            and 54 are Page-invalid and
                                            Page-protection, respectively.
              .... 1..1      PAGGSMBZ       X'09' PAGGSMBZ Must be zero in
                                            any valid PTE
              .... .1..      PAGGINVA       X'04' PAGGINVA PTE is invalid:
                                            I-bit. To turn off this bit,
                                            SHORT pg. serialization must be
                                            held unless the bit is being
                                            turned off by HPMA or by fastpath
                                            resolve which require only
                                            PCLONLY
              .... ..1.      PAGGPROT       X'02' PAGGPROT Page protected
                                            (read only): P-bit
              .... .1.1      PAGGSXVA       X'05' PAGGSXVA Page is invalid,
                                            but is valid in xstore This is a
                                            non-architected software
                                            definition.
    0007    7 Bitstring    1 *              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.
    0000    0 Dbl-Word     8 VPGGPSTE       Real address of guest's STE.
                                            Valid only in invalid PTRM PTE,
                                            when PGMBK is on DASD, or as a
                                            transient condition when the
                                            PGMBK may be headed to DASD.
            Mapping for a PGS64 (PGSTE)
    0800 2048 Dbl-Word     8 VPGGPGST (0)   VPGBK Page Status Entry
    0800 2048 Dbl-Word     8 VPGGSNTR       Virtual Page Status Entry
    0800 2048 Signed       4 VPGGPGS0       Word 0 of PGSTE
    0804 2052 Signed       4 VPGGPGS1       Word 1 of PGSTE
    0800 2048 Bitstring    3 VPGGVRSF       Field containing VPGGSVKY,
                                            VPGGSRCP and VPGGSFLG
    0803 2051 Bitstring    1 *              Reserved for IBM use
    0800 2048 Bitstring    1 VPGGSVKY       Guest Storage Key Bits 0-4
    0801 2049 Bitstring    1 VPGGSRCP       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' RCPLOCK RCP LOCK HELD
              .1.. ....      RCPHREF        X'40' RCPHREF HOST BACKUP
                                            REFERENCE BIT
              ..1. ....      RCPHCH         X'20' RCPHCH HOST BACKUP CHANGE
                                            BIT
              .11. ....      RCPHOST        RCPHREF+RCPHCH RCPHOST MASK FOR
                                            HOST BITS
              .... .1..      RCPGREF        X'04' RCPGREF GUEST BACKUP
                                            REFERENCE BIT
              .... ..1.      RCPGCH         X'02' RCPGCH GUEST BACKUP CHANGE
                                            BIT
              .... .11.      RCPGUEST       RCPGREF+RCPGCH RCPGUEST MASK FOR
                                            GUEST BITS
              1... ....      PGSPCL         X'80' PGSPCL Page Control Lock
              .1.. ....      PGSRCPHR       X'40' PGSRCPHR Host backup
                                            reference bit used for system
                                            pages
              ..1. ....      PGSRCPHC       X'20' PGSRCPHC Host backup change
                                            bit used for system pages. Can be
                                            changed with PCLONLY page
                                            serialization by tasks allowed to
                                            use PCLONLY. Set by page fault
                                            fastpath.
              .11. ....      PGSHOST        PGSRCPHR+PGSRCPHC PGSHOST Mask
                                            for host bits
              .... .1..      PGSGREF        X'04' PGSGREF Guest backup
                                            reference bit
              .... ..1.      PGSGCH         X'02' PGSGCH Guest backup change
                                            bit
              .... .11.      PGSGUEST       PGSGREF+PGSGCH PGSGUEST Mask for
                                            guest bits
    0802 2050 Bitstring    1 VPGGSFLG       Virtual Page Flags
              1... ....      PGSINVAL       X'80' PGSINVAL No auxiliary
                                            storage assigned Notes :
                                            PGSINVAL, in combination with
                                            other PTE, PGSTE, and storage key
                                            status bits, is used by steal
                                            processing to identify first time
                                            reference pages of zeros which
                                            have never been re-referenced or
                                            changed and can simply be
                                            discarded. The "first time
                                            reference page of zeros" state is
                                            identified by the following bit
                                            combination: noformat PTE:
                                            PAGINVAL=0 (page is valid and
                                            resident) PGSTE: PGSINVAL=1 (no
                                            DASD slot assigned) PGSRCPHR=0
                                            (unreferenced) PGSRCPHC=0
                                            (unchanged) Real frame storage
                                            key: Reference=0 (unreferenced)
                                            Change =0 (unchanged) enoformat
                                            Any resident page in this state
                                            is assumed to be unchanged zeros,
                                            and therefore simply discardable
                                            by steal. No page with non-zero
                                            contents should ever be allowed
                                            to be in this state, or a lost
                                            page will eventually result. The
                                            host change bit, PGSRCPHC, should
                                            be used to indicate that a page
                                            which is unchanged, not already
                                            on DASD, and non-zero, must be
                                            eventually written to DASD. *
                                            Note that both reference bits
                                            (PGSRCPHR and the real storage
                                            frame reference bit) can
                                            "evaporate" to zero over time due
                                            to the action of the reorder
                                            function. Therefore, the fact
                                            that a frame has been referenced,
                                            or setting PGSRCPHR on, can not
                                            prevent a page from eventually
                                            entering this "first time
                                            reference page of zeros" state.
              .1.. ....      PGSSHARE       X'40' PGSSHARE Page is a shared
                                            page
              ..1. ....      PGS1READ       X'20' PGS1READ ASA may be read
                                            only once. Used for shared pages.
                                            After the first read, this SDF
                                            (System Data File) ASA is to be
                                            ignored and the page left as
                                            changed. When the page is first
                                            written, it will go to a paging
                                            space ASA and this flag wil be
                                            turned off. PGS1READ on implies
                                            that page is read-only for the
                                            user.
              ...1 ....      PGSALLOC       X'10' PGSALLOC Page in the system
                                            address space (or a system-owned
                                            utility address space) that is
                                            allocated, OR A shared CP page in
                                            the monitor DCSS that CP has
                                            translated and that has not yet
                                            been released by the user
                                            connected to the DCSS. When this
                                            bit is on: 1) The page is never
                                            part of a DASD block; 2) The
                                            associated PGMBK is never paged
                                            out.
              .... 1...      PGSFIXED       X'08' PGSFIXED Storage slot
                                            permanently assigned
                                            >>PGSPGMIO was PGSIO1ST,
                                            PGSIO2ND
              .... .1..      PGSPGMIO       X'04' PGSPGMIO Indicates that
                                            pageable PGMBK I/O has not
                                            completed (PTRM page). Set when
                                            the first I/O completion
                                            interrupt is processed, reset
                                            when the second I/O completion
                                            interrupt is processed. Note the
                                            I/O can complete in either order.
                                            >>PGSPGMIM was PGSIOMSK
    0803 2051 Bitstring    1 VPGGSSTA       Virtual Page Status bits
    0803 2051 Bitstring    1 VPGGMSTA       Virtual Page (PGMBK) Status bits
    0804 2052 Signed       4 *              Reserved
    0804 2052 Bitstring    1 VPGGSB4        Virtual Page Status (Byte 4)
              1... ....      PGSZBIT        X'80' PGSZBIT
                                            Page-content-logically zero bit
                                            Only meaningful when the PTE is
                                            invalid.
              ..1. ....      PGSCLASS       X'20' PGSCLASS The page class
                                            specifies which
                                            Delta-pinned-page-count array is
                                            to be used in maintaining pinned
                                            page counts. Page class 0 (bit is
                                            0) specifies the DPPCA for base
                                            address space pages owned by
                                            user. Page class 1 (bit is 1)
                                            specifies NSS/DCSS imbedded
                                            shared pages. The page class 0
                                            DPPCA resides in the ASCBK and is
                                            pointed to by SIEDPPCAO in the
                                            format-2 state descriptor
                                            (SI2BK). The page class 1 DPPCA
                                            resides resides in RSMBK and is
                                            pointed to by PFXDPPCAO in the
                                            prefix area.
              ...1 ....      PGSOVFLW       X'10' PGSOVFLW The pin count
                                            (PGSPINCT) has overflowed and the
                                            current value does not represent
                                            the total pin count. The
                                            remainder of the total pin count
                                            is contained in both PGSOVFL1 (a
                                            one bit pin count overflow used
                                            to control hardware interception)
                                            and ASAOVFLW in the ASATE). PTE
                                            must be valid. Can be modified
                                            with PCLONLY page serialization
                                            by tasks allowed to use PCLONLY.
                                            Set by pin/unpin fastpaths,
                                            translation paths, and no-owned
                                            functions.
              .... 1...      PGSPROCL       X'08' PGSPROCL Indicates page is
                                            on the processed list. Turned on
                                            by machine or fast path
                                            processing when corresponding
                                            FRMTE is put on processed list.
                                            Turned off by HCPPLP processed
                                            list processing. Can be modified
                                            with PCLONLY page serialization
                                            by tasks allowed to use PCLONLY.
                                            Set by HPMA or fastpath validate
                                            page. See PFXPROCL definition
                                            comments in HCPPFXPG for
                                            additional rules regarding
                                            processed list usage and the
                                            setting of PGSPROCL.
              .... .1..      PGSCONRP       X'04' PGSCONRP Indicates a
                                            content-replacement operation
                                            occurred on an HPMA Resolve host
                                            page function. Can be modified
                                            with PCLONLY page serialization
                                            by tasks allowed to use PCLONLY.
                                            Set by HPMA or fastpath validate
                                            page.
              .... ..1.      PGSUS0         X'02' PGSUS0
              .... ...1      PGSUS1         X'01' PGSUS1
              .... ..11      PGSUS          PGSUS0+PGSUS1 PGSUS
              .... ....      PGSUSS         0 PGSUSS
              .... ...1      PGSUSU         1 PGSUSU
              .... ..1.      PGSUSP         2 PGSUSP
              .... ..11      PGSUSV         3 PGSUSV
    0805 2053 Bitstring    1 VPGGSB5        Virtual Page Status (Byte 5)
    0806 2054 Bitstring    1 VPGGSB6        Virtual Page Status (Byte 6)
    0807 2055 Bitstring    1 VPGGSB7        VPS (Byte 7) - Pin Count
    0804 2052 Signed       4 VPGGVMDB       Owning VMDBK address. Valid only
                                            in invalid PTRM PGSTE, when PGMBK
                                            is on DASD, or as a transient
                                            condition when the PGMBK may be
                                            headed to DASD.
            Mapping for a ASA64 (ASATE)
    1000 4096 Dbl-Word     8 VPGGASAT (0)   VPGBK Aux Storage Address
    1000 4096 Dbl-Word     8 VPGGANTR       Auxiliary Storage Address
    1000 4096 Signed       4 VPGGASA0       Word 0 of ASATE
    1004 4100 Signed       4 VPGGASA1       Word 1 of ASATE
    1000 4096 Signed       2 VPGGACNM       Auxiliary Storage Cylinder Number
    1002 4098 Bitstring    1 VPGGAPNM       Auxiliary Storage Page Number
    1003 4099 Bitstring    1 VPGGAVOL       Auxiliary Storage Volume Code
    1004 4100 Signed       4 VPGGPTRM       PTRM-specific data. Only valid in
                                            PTRM non-pageable PGM64s If
                                            PGSINVAL=b'0', then this is the
                                            ASA representing the second page
                                            of the PGM64 If PGSXSTOR=b'1',
                                            then this is the XSTORE block
                                            number representing the second
                                            page of the PGM64.
    1004 4100 Signed       2 *              Reserved for IBM use
    1006 4102 Signed       2 VPGGOVFL       Count of the number of 128 pin-
                                            count overflow increments. The
                                            pin count for a page is kept in
                                            PGSPINCT, which is only 1 byte in
                                            length. If that overflows,
                                            ASAOVFLW is incremented and
                                            represents 128 pins.

#### VPG64 Storage Layout

    *** VPG64 - VIRTUAL PAGE BLOCK
    *
    *     +-------------------------------------------------------+
    *   0 |                       VPGGPAG                         |
    *     +-------------------------------------------------------+
    *   8 |///////////////////////////////////////////////////////|
    *     =///////////////////////////////////////////////////////=
    *     |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    * 800 |                       VPGGPGS                         |
    *     +-------------------------------------------------------+
    * 808 |///////////////////////////////////////////////////////|
    *     =///////////////////////////////////////////////////////=
    *     |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    *1000 |                       VPGGASA                         |
    *     +-------------------------------------------------------+
    *1008 |///////////////////////////////////////////////////////|
    *     =///////////////////////////////////////////////////////=
    *     |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    *1800
    *
    *** VPG64 - VIRTUAL PAGE BLOCK

    *** Overlay for VPGGPAG in VPG64
    *
    *     +-------------------------------------------------------+
    *   0 |                       VPGGPNTR                        |
    *     +-------------------------------------------------------+
    *   8
    *
    *** Overlay for VPGGPAG in VPG64

    *** Overlay for VPGGPNTR in VPG64
    *
    *     +---------------------------+---------------------------+
    *   0 |         VPGGPTE0          |         VPGGPTE1          |
    *     +---------------------------+---------------------------+
    *   8
    *
    *** Overlay for VPGGPNTR in VPG64

    *** Overlay for VPGGPTE0 in VPG64
    *
    *     +-------------+-------------+---------------------------+
    *   0 |  VPGGPLNK   |/////////////|///////////////////////////|
    *     +-------------+-------------+---------------------------+
    *   8
    *
    *** Overlay for VPGGPTE0 in VPG64

    *** Overlay for VPGGPTE0 in VPG64
    *
    *     +---------------------------+---------------------------+
    *   0 |         VPGGXSBN          |                           |
    *     +---------------------------+                           |
    *     |                       VPGGXSTS                        |
    *     |                                                       |
    *     +---------------------------+------+--------------------+
    *  18 |///////////////////////////|//////| 1D
    *     +---------------------------+------+
    *
    *** Overlay for VPGGPTE0 in VPG64

    *** Overlay for VPGGPTE0 in VPG64
    *
    *     +---------------------------+-------------+------+------+
    *   0 |///////////////////////////|/////////////|:GPSTA|//////|
    *     +---------------------------+-------------+------+------+
    *   8
    *
    *** Overlay for VPGGPTE0 in VPG64

    *** Overlay for VPGGPTE0 in VPG64
    *
    *     +-------------------------------------------------------+
    *   0 |                       VPGGPSTE                        |
    *     +-------------------------------------------------------+
    *   8
    *
    *** Overlay for VPGGPTE0 in VPG64

    *** Overlay for VPGGPGS in VPG64
    *
    *     +-------------------------------------------------------+
    * 800 |                       VPGGSNTR                        |
    *     +-------------------------------------------------------+
    * 808
    *
    *** Overlay for VPGGPGS in VPG64

    *** Overlay for VPGGSNTR in VPG64
    *
    *     +---------------------------+---------------------------+
    * 800 |         VPGGPGS0          |         VPGGPGS1          |
    *     +---------------------------+---------------------------+
    * 808
    *
    *** Overlay for VPGGSNTR in VPG64

    *** Overlay for VPGGPGS0 in VPG64
    *
    *     +--------------------+------+
    * 800 |     VPGGVRSF       |//////| 804
    *     +--------------------+------+
    *
    *** Overlay for VPGGPGS0 in VPG64

    *** Overlay for VPGGPGS0 in VPG64
    *
    *     +------+------+------+------+
    * 800 |:GSVKY|:GSRCP|:GSFLG|:GSSTA| 804
    *     +------+------+------+------+
    *
    *** Overlay for VPGGPGS0 in VPG64

    *** Overlay for VPGGSSTA in VPG64
    *
    *                          +------+
    * 800 ...              803 |:GMSTA| 804
    *                          +------+
    *
    *** Overlay for VPGGSSTA in VPG64

    *** Overlay for VPGGPGS1 in VPG64
    *
    *                                 +---------------------------+
    * 800 ...                     804 |///////////////////////////|
    *                                 +---------------------------+
    * 808
    *
    *** Overlay for VPGGPGS1 in VPG64

    *** Overlay for VPGGPGS1 in VPG64
    *
    *                                 +------+------+------+------+
    * 800 ...                     804 |:GSB4 |:GSB5 |:GSB6 |:GSB7 |
    *                                 +------+------+------+------+
    * 808
    *
    *** Overlay for VPGGPGS1 in VPG64

    *** Overlay for VPGGPGS1 in VPG64
    *
    *                                 +---------------------------+
    * 800 ...                     804 |         VPGGVMDB          |
    *                                 +---------------------------+
    * 808
    *
    *** Overlay for VPGGPGS1 in VPG64

    *** Overlay for VPGGASA in VPG64
    *
    *     +-------------------------------------------------------+
    *1000 |                       VPGGANTR                        |
    *     +-------------------------------------------------------+
    *1008
    *
    *** Overlay for VPGGASA in VPG64

    *** Overlay for VPGGANTR in VPG64
    *
    *     +---------------------------+---------------------------+
    *1000 |         VPGGASA0          |         VPGGASA1          |
    *     +---------------------------+---------------------------+
    *1008
    *
    *** Overlay for VPGGANTR in VPG64

    *** Overlay for VPGGASA0 in VPG64
    *
    *     +-------------+------+------+
    *1000 |  VPGGACNM   |:GAPNM|:GAVOL| 1004
    *     +-------------+------+------+
    *
    *** Overlay for VPGGASA0 in VPG64

    *** Overlay for VPGGASA1 in VPG64
    *
    *                                 +---------------------------+
    *1000 ...                    1004 |         VPGGPTRM          |
    *                                 +---------------------------+
    *1008
    *
    *** Overlay for VPGGASA1 in VPG64

    *** Overlay for VPGGASA1 in VPG64
    *
    *                                 +-------------+-------------+
    *1000 ...                    1004 |/////////////|  VPGGOVFL   |
    *                                 +-------------+-------------+
    *1008
    *
    *** Overlay for VPGGASA1 in VPG64

#### VPG64 Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    PAGGINVA       0006 04
    PAGGPROT       0006 02
    PAGGSMBZ       0006 09
    PAGGSXVA       0006 05
    PGSALLOC       0802 10
    PGSCLASS       0804 20
    PGSCONRP       0804 04
    PGSFIXED       0802 08
    PGSGCH         0801 02
    PGSGREF        0801 04
    PGSGUEST       0801 06
    PGSHOST        0801 60
    PGSINVAL       0802 80
    PGSOVFLW       0804 10
    PGSPCL         0801 80
    PGSPGMIO       0802 04
    PGSPROCL       0804 08
    PGSRCPHC       0801 20
    PGSRCPHR       0801 40
    PGSSHARE       0802 40
    PGSUS          0804 03
    PGSUSP         0804 02
    PGSUSS         0804 00
    PGSUSU         0804 01
    PGSUSV         0804 03
    PGSUS0         0804 02
    PGSUS1         0804 01
    PGSZBIT        0804 80
    PGS1READ       0802 20
    RCPGCH         0801 02
    RCPGREF        0801 04
    RCPGUEST       0801 06
    RCPHCH         0801 20
    RCPHOST        0801 60
    RCPHREF        0801 40
    RCPLOCK        0801 80
    VPGGACNM       1000
    VPGGANTR       1000
    VPGGAPNM       1002
    VPGGASA        1000
    VPGGASAT       1000
    VPGGASA0       1000
    VPGGASA1       1004
    VPGGAVOL       1003
    VPGGMSTA       0803
    VPGGNEXT       0008
    VPGGOVFL       1006
    VPGGPAG        0000
    VPGGPGS        0800
    VPGGPGST       0800
    VPGGPGS0       0800
    VPGGPGS1       0804
    VPGGPLNK       0000
    VPGGPNTR       0000
    VPGGPSTA       0006
    VPGGPSTE       0000
    VPGGPTE        0000
    VPGGPTE0       0000
    VPGGPTE1       0004
    VPGGPTRM       1004
    VPGGSB4        0804
    VPGGSB5        0805
    VPGGSB6        0806
    VPGGSB7        0807
    VPGGSFLG       0802
    VPGGSNTR       0800
    VPGGSRCP       0801
    VPGGSSTA       0803
    VPGGSVKY       0800
    VPGGVMDB       0804
    VPGGVRSF       0800
    VPGGXSBN       0000
    VPGGXSTS       0004

This information is based on z/VM V6R1.0. Last updated on 18 Feb 2010 at 09:23:49 EDT.
Copyright IBM Corporation, 1990, 2008