PIRBK | Back to Index page

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

PIRBK Prolog | Top of page

     NAME       : HCPPIRBK
     DESCRIPTION: Page Interrupt Return control BlocK.
     DSECT      : PIRBK
     LOCATED BY : FRMBPNT - contained in the FRMTE back pointer if
                  the frame is being paged in.
     CREATED BY : HCPGETST ID=PIRBK  (see comments below)
     DELETED BY : HCPRELST ID=PIRBK (see comments below)
     SERIALIZED : PIRBKs are anchored in FRMBPNTG - FRMTE back
                  pointer field.  The serialization of the FRMBPNTG
                  is a unique thread having access to a unique
                  FRMTE chain.
                  Updates to fields in the PIRBK are serialized by
                  a Test And Set lock: PIRTSLK
     RELOCATION CONSIDERATIONS : None
     COMMENTS   :
                  There are two varieties of PIRBK.  Most are gotten  and
                  released via HCPGETST and HCPRELST.  However, some of
                  the older paging I/O interfaces use the back pointer of
                  the FRMTE (FRMBPNTG) as a "short" PIRBK.  This was done
                  because they only used the PIRBK for the PIRIRA field.
                  Newer interfaces use PIRBKs obtained from Free Storage.

PIRBK Control Block Content | Top of page

     PIRBK DSECT
    Top of page

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      PIRBK          Page Interrupt Return control BlocK.
    0000    0 Signed       4 PIRIRA         Interrupt return address for this
                                            block. For input to IRAs, see
                                            HCPPAFIR.
    0004    4 Signed       4 PIROVERLAY (9) Use Dependent Area
    0004    4 Signed       4 PIRTOKEN       Used to uniquely identify this
                                            task.
    0008    8 Signed       4 PIRCTPAG       Count of pages to process.
    000C   12 Signed       4 PIRCTDON       Count of pages processed so far.
    0010   16 Dbl-Word     8 *              Reserved for IBM use
    0018   24 Dbl-Word     8 *              Reserved for IBM use
    0020   32 Dbl-Word     8 *              Reserved for IBM use
    0004    4 Signed       4 PIRSAVE1       Miscellaneous save area
    0008    8 Signed       4 PIRSAVE2       Miscellaneous Save area
    000C   12 Signed       4 PIRSAVE3       Miscellaneous Save area
    0010   16 Dbl-Word     8 *              Reserved for IBM use
    0018   24 Dbl-Word     8 *              Reserved for IBM use
    0020   32 Dbl-Word     8 *              Reserved for IBM use
    0004    4 Signed       4 PIRSAVBK       Address of SVGBK for return to
                                            caller
    0008    8 Signed       4 PIRFMCT        Count of FRMTEs in Block
    000C   12 Signed       4 PIRTOTC        Count of FRMTEs to be returned to
                                            the caller. For non-last-pass
                                            this is only pages that were
                                            successfully read. For last pass
                                            this count includes successfully
                                            read from disk and also pages in
                                            error.
    0010   16 Bitstring    1 PIRTSLK        Test And Set lock byte
    0011   17 Bitstring    1 *              Reserved for IBM use
    0012   18 Signed       2 *              Reserved for IBM use
    0014   20 Signed       4 PIRASCBK       ASCBK for the address space of
                                            the FRMTE's using this PIRBK.
                                            This field is used by HCPPAGEW/IE
    0018   24 Dbl-Word     8 PIRFMCHN       FRMTE chain anchor
    0020   32 Dbl-Word     8 PIRERRFC       Chain of Error FRMTEs. This chain
                                            is used only on the last pass of
                                            an LGR, since pages in error have
                                            their state relocated on the last
                                            pass.
                 The following are used to determine the size of the
          this control block.
              00000028       PIRLEN         *-PIRBK Length in bytes.
              00000005       PIRSIZE        (PIRLEN+7)/8 Size in doublewords.

PIRBK Storage Layout | Top of page

    *** PIRBK - Page Interrupt Return control BlocK.
    *
    *     +---------------------------+---------------------------+
    *   0 |          PIRIRA           |                           |
    *     +---------------------------+                           |
    *   8 |                                                       |
    *     =                      PIROVERLAY                       =
    *     |                                                       |
    *     +-------------------------------------------------------+
    *  28
    *
    *** PIRBK - Page Interrupt Return control BlocK.

    *** Overlay for PIROVERLAY in PIRBK
    *
    *                                 +---------------------------+
    *   0 ...                       4 |         PIRTOKEN          |
    *     +---------------------------+---------------------------+
    *   8 |         PIRCTPAG          |         PIRCTDON          |
    *     +---------------------------+---------------------------+
    *  10 |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    *  18 |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    *  20 |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    *  28
    *
    *** Overlay for PIROVERLAY in PIRBK

    *** Overlay for PIROVERLAY in PIRBK
    *
    *                                 +---------------------------+
    *   0 ...                       4 |         PIRSAVE1          |
    *     +---------------------------+---------------------------+
    *   8 |         PIRSAVE2          |         PIRSAVE3          |
    *     +---------------------------+---------------------------+
    *  10 |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    *  18 |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    *  20 |///////////////////////////////////////////////////////|
    *     +-------------------------------------------------------+
    *  28
    *
    *** Overlay for PIROVERLAY in PIRBK

    *** Overlay for PIROVERLAY in PIRBK
    *
    *                                 +---------------------------+
    *   0 ...                       4 |         PIRSAVBK          |
    *     +---------------------------+---------------------------+
    *   8 |         PIRFMCT           |         PIRTOTC           |
    *     +------+------+-------------+---------------------------+
    *  10 |:TSLK |//////|/////////////|         PIRASCBK          |
    *     +------+------+-------------+---------------------------+
    *  18 |                       PIRFMCHN                        |
    *     +-------------------------------------------------------+
    *  20 |                       PIRERRFC                        |
    *     +-------------------------------------------------------+
    *  28
    *
    *** Overlay for PIROVERLAY in PIRBK

PIRBK Cross Reference | Top of page

    Symbol         Dspl Value
    -------------- ---- -----
    PIRASCBK       0014
    PIRCTDON       000C
    PIRCTPAG       0008
    PIRERRFC       0020
    PIRFMCHN       0018
    PIRFMCT        0008
    PIRIRA         0000
    PIRLEN         0020 00000028
    PIROVERLAY     0004
    PIRSAVBK       0004
    PIRSAVE1       0004
    PIRSAVE2       0008
    PIRSAVE3       000C
    PIRSIZE        0020 00000005
    PIRTOKEN       0004
    PIRTOTC        000C
    PIRTSLK        0010

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