PGS64 | Back to Index page

| Prolog Control Block Contents PGS64 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.

PGS64 Control Block Content | Top of page

     PGS64 DSECT
    Top of page

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      PGS64          PAGE STATUS TABLE ENTRY
    0000    0 Dbl-Word     8 PGSGENTR       Virtual Page Status Entry
    0000    0 Signed       4 PGS64W0        PGSTE
    0004    4 Signed       4 PGS64W1        Reserved for IBM use
              00000008       PGSGLENT       *-PGSGENTR Length of one Status
                                            Table Entry
    0008    8 Signed       4 PGSGNEXT (0)   Next Page Status Table Entry
          PGS64W0 start - Word 0 of PGSTE
          PGSGVKEY - Byte 0 (Architected)
    0000    0 Bitstring    1 PGSGVKEY       Guest Storage key bits 0-4
              1111 ....      PGSVKACC       X'F0' PGSVKACC Access-control key
                                            value
              .... 1...      PGSVKFET       X'08' PGSVKFET Fetch-protection
                                            control
              1111 1...      PGSVKACF       PGSVKACC+PGSVKFET PGSVKACF
                                            Acc-ctrl & fetch-prot bits
          PGSGRCP - Byte 1  (Architected)
    0001    1 Bitstring    1 PGSGRCP        Architected area for RCP byte if
                                            storage key assist is being
                                            utilized, or the page belongs to
                                            the system.
              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. Note that when setting
                                            this bit or when resetting it and
                                            turning on the PGSZBIT bit, the
                                            relocation change bit, PGSLGRCC
                                            needs to be turned on.
              .11. ....      PGSHOST        PGSRCPHR+PGSRCPHC PGSHOST Mask
                                            for host bits
              ...1 ....      PGSLGRCC       X'10' PGSLGRCC VMRELOCATE Content
                                            Change bit. Initialized to one.
                                            Changed only when holding PCLONLY
                                            or SHORT (including ERRSHORT).
                                            Known in architecture as PGSHCB.
              .... .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
              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
          Note that the Page Control Lock and the RCP Interlock
          bit are one in the same if the Storage Key Assist is
          being utilized.
          PGSGFLAG - Byte 2
    0002    2 Bitstring    1 PGSGFLAG       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) For a system
                                            utility space, 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
              00000400       PGSPGMIM       (PGSPGMIO)*256 >>PGSPRBN
                                            moved from PGSGSTAT
              .... ..1.      PGSPRBN        X'02' ASA is, in fact, a PRBN
                                            (pool- relative block number)
              .... ...1      PGSREADO       X'01' Storage slot (DASD) is
                                            read-only
          PGSGSTAT - Byte 3
    0003    3 Bitstring    1 PGSGSTAT       Virtual Page Status bits
              1... ....      PGSALTPT       X'80' PGSALTPT For a target PTE,
                                            indicates the definition of the
                                            page is in alternate page table
                                            pointed to by PGMGALTP. For a
                                            source PTE, indicates data was
                                            saved for the page.
              .1.. ....      PGSPCL2        X'40' PGSPCL2 Page serialization
                                            bit. See serialization section of
                                            prolog for more information.
              ..1. ....      PGSLTSER       X'20' PGSLTSER Page is "Long Term
                                            Serialized". May only be on if
                                            PGSPCL2 is also on (though PGSPCL
                                            may be on as well)
              .... ....      PGSXSTOR       X'00' PGSXSTOR Page is in XSTORE
              .... .1..      PGSBLOCK       X'04' PGSBLOCK This page is one
                                            page in a block of pages
              .... ..1.      PGSRABI        X'02' PGSRABI This page was read
                                            in as part of a block of pages.
                                            This bit can NOT be checked for
                                            PTRM pages, as it is redefined as
                                            PGSXSTMB in that case. RABI pages
                                            are made IBR when added to the
                                            frame list.
              .... ...1      PGSERROR       X'01' PGSERROR Page is in error.
                                            A storage error was detected in
                                            this page and the page could not
                                            be recovered. See serialization
                                            section of the prolog for role
                                            this bit plays in page
                                            serialization. When this bit is
                                            set, VMDRSSFG.VMDRSSUE must be
                                            set in the VMDBK that owns the
                                            space.
          PGS64W1 start - Word 1 of PGSTE
          PGSBYTE 4 Additional status bits  (Architected)
    0004    4 Bitstring    1 PGSBYTE4       Byte 4 of page status entry
              1... ....      PGSZBIT        X'80' PGSZBIT
                                            Page-content-logically zero bit
                                            Only meaningful when the PTE is
                                            invalid.
              .1.. ....      PGSNT          X'40' PGSNT Guest no translation.
                                            When ON the guest page does not
                                            contain any DAT structures.
              ..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 PGAOVFLW in the PGAUX). 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. Before setting
                                            PGSOVFLW, PGAUX should be cleared
                                            to ensure no residual data is
                                            present.
              .... 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
          PGSBYTE 5 Additional status bits   (Architected)
    0005    5 Bitstring    1 PGSBYTE5       Byte 5 of page status entry
              1... ....      PGSIBR         X'80' PGSIBR Page is in IBR
                                            section of UFO The PTE associated
                                            with the frame is likely to be
                                            invalid; however, it may be a
                                            valid PTE whose frame has not yet
                                            been moved to the active section
                                            of the frame list.
              .1.. ....      PGSAGING       X'40' PGSAGING Frame/FRMTE is on
                                            the system's global IBR aging
                                            list
          PGSBYTE 6 Additional status bits
    0006    6 Bitstring    1 PGSBYTE6       Byte 6 of page status entry
                                            >>PGSCMDLK was FRMCPLOK
              1... ....      PGSCPLOK       X'80' PGSCPLOK A pageable page is
                                            locked in the frame (pinned) by
                                            the CP LOCK command, one
                                            increment of the total pin count
                                            represents the CP LOCK command
                                            lock. >>PGSD98LK was
                                            PGSVMSLK
              .1.. ....      PGSD98LK       X'40' PGSD98LK A pageable page is
                                            locked in the frame (pinned) at
                                            Virtual Machine request via
                                            Diagnose x'98', one increment of
                                            the total pin count represents
                                            the Diagnose x'98' Virtual
                                            Machine lock.
              ..1. ....      PGSEWRTC       X'20' PGSEWRTC Page contents were
                                            written to DASD during the "early
                                            write" phase of being on the
                                            Aging List; reason for write was
                                            the page was changed
              ...1 ....      PGSEWRTM       X'10' PGSEWRTM Page contents were
                                            written to DASD during the "early
                                            write" phase of being on the
                                            Aging List; reason for write was
                                            not the change bits (bad mload,
                                            drained, etc)
              .... 1...      PGSAGRCL       X'08' PGSAGRCL Page is on the
                                            Aging List ready to be reclaimed
                                            (that is, it is below the early
                                            write pointer)
              .... ..1.      PGSALIAS       X'02' PGSALIAS Guest page has an
                                            SXS alias. This bit can only be
                                            tested if PAGGINVA is not set;
                                            i.e. the PTE must be valid.
              .... ...1      PGSOVFL1       X'01' PGSOVFL1 A one bit pin
                                            count overflow count bit. Used to
                                            hold one pin count out of
                                            PGSPINCT to control hardware
                                            interception. PTE must be valid.
                                            Can be modified with PCLONLY page
                                            serialization by tasks allowed to
                                            use PCLONLY. Turned on/off by
                                            pin/unpin fastpaths, translation
                                            paths, and no-owned functions.
                                            Also turned on by HCPTRANS
                                            HOSTTYPE=LOGICAL, TRANSLATE=NO,
                                            LOCK=YES of a no-owned page that
                                            wasn't locked or pinned but was
                                            last translated. Gets turned off
                                            in edge-triggered cases.
    0007    7 Bitstring    1 PGSPINCT       Pin Count. Represents the number
                                            of pins (page locks) visible to
                                            hardware. If PGSOVFLW is set,
                                            does not represent the true total
                                            pin count. Additional pin count
                                            values are held in PGSOVFL1 (a
                                            one bit pin overflow count used
                                            to control hardware interception)
                                            and PGAOVFLW (a halfword pin
                                            overflow count where each "1"
                                            increment represents 128 pin
                                            count increments). PTE must be
                                            valid. Can be modified with
                                            PCLONLY page serialization by
                                            tasks allowed to use PCLONLY.
                                            Turned on/off by pin/unpin
                                            fastpaths, translation paths, and
                                            no-owned functions.
          PGS64W1 end
          Redefinition of PGSGSTAT for Pageable PGMBK (PTRM) pages
    0003    3 Bitstring    1 PGSGPSTA       Pageable PGMBK Virtual Page
                                            Status bits.
              .... ..1.      PGSXSTMB       X'02' This page (a pageable
                                            PGMBK) itself supports pages in
                                            XSTORE. This bit is only used for
                                            PTRM pages that currently reside
                                            in XSTORE (PGSXSTOR must also be
                                            on if PGSXSTMB is on). Note that
                                            this bit is a redefinition of the
                                            PGSRABI bit, which is acceptable
                                            since pageable PGMBKs (PTRM
                                            pages) are never blocked.
    0004    4 Signed       4 PGSPPDBK       Address of PPDBK for paged PGMBK.
                                            Note that the PPDBK address is a
                                            31-bit address, occupying bits
                                            1-31 of this word. Note that
                                            PGSZBIT is meaningless and
                                            irrelevant for PTRM pages. Valid
                                            only in invalid PTRM PGSTE, when
                                            PGMBK is on DASD, or as a
                                            transient condition when the
                                            PGMBK may be headed to DASD.

PGS64 Storage Layout | Top of page

    *** PGS64 - PAGE STATUS TABLE ENTRY
    *
    *     +-------------------------------------------------------+
    *   0 |                       PGSGENTR                        |
    *     +-------------------------------------------------------+
    *   8
    *
    *** PGS64 - PAGE STATUS TABLE ENTRY

    *** Overlay for PGSGENTR in PGS64
    *
    *     +---------------------------+---------------------------+
    *   0 |         PGS64W0           |         PGS64W1           |
    *     +---------------------------+---------------------------+
    *
    *** Overlay for PGSGENTR in PGS64

    *** Overlay for PGS64W0 in PGS64
    *
    *     +------+------+------+------+------+------+------+------+
    *   0 |:GVKEY|:GRCP |:GFLAG|:GSTAT|:BYTE4|:BYTE5|:BYTE6|:PINCT|
    *     +------+------+------+------+------+------+------+------+
    *   8
    *
    *** Overlay for PGS64W0 in PGS64

    *** Overlay for PGSGSTAT in PGS64
    *
    *                          +------+
    *   0 ...                3 |:GPSTA| 4
    *                          +------+
    *
    *** Overlay for PGSGSTAT in PGS64

    *** Overlay for PGS64W1 in PGS64
    *
    *                                 +---------------------------+
    *   0 ...                       4 |         PGSPPDBK          |
    *                                 +---------------------------+
    *   8
    *
    *** Overlay for PGS64W1 in PGS64

PGS64 Cross Reference | Top of page

    Symbol         Dspl Value
    -------------- ---- -----
    PGSAGING       0005 40
    PGSAGRCL       0006 08
    PGSALIAS       0006 02
    PGSALLOC       0002 10
    PGSALTPT       0003 80
    PGSBLOCK       0003 04
    PGSBYTE4       0004
    PGSBYTE5       0005
    PGSBYTE6       0006
    PGSCLASS       0004 20
    PGSCONRP       0004 04
    PGSCPLOK       0006 80
    PGSD98LK       0006 40
    PGSERROR       0003 01
    PGSEWRTC       0006 20
    PGSEWRTM       0006 10
    PGSFIXED       0002 08
    PGSGCH         0001 02
    PGSGENTR       0000
    PGSGFLAG       0002
    PGSGLENT       0004 00000008
    PGSGNEXT       0008
    PGSGPSTA       0003
    PGSGRCP        0001
    PGSGREF        0001 04
    PGSGSTAT       0003
    PGSGUEST       0001 06
    PGSGVKEY       0000
    PGSHOST        0001 60
    PGSIBR         0005 80
    PGSINVAL       0002 80
    PGSLGRCC       0001 10
    PGSLTSER       0003 20
    PGSNT          0004 40
    PGSOVFLW       0004 10
    PGSOVFL1       0006 01
    PGSPCL         0001 80
    PGSPCL2        0003 40
    PGSPGMIM       0002 00000400
    PGSPGMIO       0002 04
    PGSPINCT       0007
    PGSPPDBK       0004
    PGSPRBN        0002 02
    PGSPROCL       0004 08
    PGSRABI        0003 02
    PGSRCPHC       0001 20
    PGSRCPHR       0001 40
    PGSREADO       0002 01
    PGSSHARE       0002 40
    PGSUS          0004 03
    PGSUSP         0004 02
    PGSUSS         0004 00
    PGSUSU         0004 01
    PGSUSV         0004 03
    PGSUS0         0004 02
    PGSUS1         0004 01
    PGSVKACC       0000 F0
    PGSVKACF       0000 F8
    PGSVKFET       0000 08
    PGSXSTMB       0003 02
    PGSXSTOR       0003 00
    PGSZBIT        0004 80
    PGS1READ       0002 20
    PGS64W0        0000
    PGS64W1        0004
    RCPGCH         0001 02
    RCPGREF        0001 04
    RCPGUEST       0001 06
    RCPHCH         0001 20
    RCPHOST        0001 60
    RCPHREF        0001 40
    RCPLOCK        0001 80

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