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

#### REFBK

Prolog

Control Block Contents
REFBK DSECT
REFENTRY DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### REFBK Prolog

     NAME       : HCPREFBK
     DESCRIPTION: Page References Services Parameter Block
     DSECT      : REFBK
     FUNCTION   : The REFBK is used to pass parameters for
                  diagnose X'258'.
     LOCATED BY : Guest Rx register.
     CREATED BY : Created in the guest virtual machine's storage and
                  copied to VMDVOBUF for CP to use.
     DELETED BY : Deleted by the guest virtual machine.
     SERIALIZED : Guest Virtual Machine is responsible.
     COMMENTS   : Changes to this control block may require macros
                  PFAULT and REFPAGE to also change.

#### REFBK Control Block Content

#### REFBK DSECT

####

####

####

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      REFBK          Page References Services
                                            Parameter Block
    0000    0 Signed       2 REFDIAGC       Diagnose number.
    0002    2 Signed       2 REFFCODE       Diagnose function code.
    0004    4 Signed       2 REFDWLEN       Size of block in doublewords
    0006    6 Signed       2 REFVERSN       Version number of this REFBK
              .... ...1      REFVER1        1 Indicates REFBK is version 1
              .... ..1.      REFVER2        2 Indicates REFBK is version 2
    0008    8 Dbl-Word     8 * (0)
    0008    8 Address      8 REFGADDR       For version 2, fcn code 0, PFAULT
                                            TOKEN, this field contains the
                                            guest real addr of the token to
                                            be assoc. with version 2 page
                                            fault handshaking.
    0008    8 Signed       4 REFALET        For function code 03, BLOCK form
                                            of INFORM function, this field
                                            contains the ALET of the address
                                            space containing the pages about
                                            to be referenced.
    000C   12 Address      4 REFADDR (0)    For version 1, fcn code 0, PFAULT
                                            TOKEN, this field contains the
                                            guest real address of the token
                                            to be associated with
                                            AR-specified page fault
                                            handshaking.
         For function code 02, LIST form of INFORM function, this field contains
         the guest real address of the page list. The page list is a set of
         ALET/page numbers.
         For function code 03, BLOCK form of INFORM function, this field
         contains the starting absolute page address of a range of pages.
    000C   12 Bitstring    3 *              First part of address.
    000F   15 Bitstring    1 REFADDR3       Used to check last byte.
    0010   16 Signed       8 REFSELMK       For version 2, fcn code 0, PFAULT
                                            TOKEN, this field contains the
                                            selection mask to be associated
                                            with version 2 page fault
                                            handshaking. Note: When not in
                                            z/Architecture bits 33-63 are
                                            ignored.
    0010   16 Signed       4 REFCOUNT       For function code 02, LIST form
                                            of INFORM function, this field
                                            contains the count of ALET/page
                                            number pairs in the list pointed
                                            to by REFADDR.
              00000002       REFCTMIN       2 Minimum number of entries for
                                            list form.
              00004000       REFCTMAX       16384 Maximum number of entries
                                            for list form.
              00000010       REFGROUP       REFCOUNT For function code 03,
                                            BLOCK form of INFORM function,
                                            this field contains the count of
                                            the number of span of pages that
                                            are about to be referenced.
              00040000       REFGRPMX       262144 Maximum number of groups
                                            for block form.
    0014   20 Signed       4 REFSBGRP       For function code 03, BLOCK form
                                            of INFORM function, this field
                                            contains the count of the number
                                            of subgroup that are about to be
                                            referenced.
              00040000       REFSGPMX       REFGRPMX Maximum number of
                                            subgroups for block form.
    0018   24 Signed       8 REFCMPMK       For version 2, fcn code 0, PFAULT
                                            TOKEN, this field contains the
                                            compare mask to be associated
                                            with version 2 page fault
                                            handshaking. Note: When not in
                                            z/Architecture bits 33-63 are
                                            ignored.
    0018   24 Signed       4 REFSPAN        For function code 03, BLOCK form
                                            of INFORM function, this field
                                            contains the number of
                                            consecutive pages that should be
                                            condisered as a single span of
                                            pages within the range of pages.
              00040000       REFSPNMX       REFGRPMX Maximum number of spans
                                            for block form.
    001C   28 Signed       4 REFSKIP        For function code 03, BLOCK form
                                            of INFORM function, this field
                                            contains the number of pages that
                                            should be considered as a gap
                                            between each block. This value is
                                            number of pages calculated by
                                            subtracting any block ending
                                            address (plus one) from the next
                                            block starting address.
              00020000       REFSKPMX       131072 Maximum number of skips
                                            for block form.
    0020   32 Bitstring    1 REFV2FLG       Version 2 flag byte
              1... ....      REFZARCH       X'80' When set, the vCPU must be
                                            running in z/Architecture mode.
                                            When not set, the vCPU must be
                                            running in non z/Architecture
                                            mode.
    0021   33 Bitstring    1 * (3)          Reserved for IBM use
    0024   36 Signed       4 *              Reserved for IBM use
    0020   32 Bitstring    1 REFDIREC       Byte used to indicate ascending
                                            and descending order. It also
                                            indicates whether REFADDR is the
                                            lowest address or the highest.
                                            This should be 1 (ascending) or
                                            descending (-1), but the value is
                                            not validated. Bit 0 is check to
                                            see if it is ascending (0) or
                                            descending (1).
              1111 1111      REFDESCD       X'FF' Minus one to indicate
                                            descending order.
    0021   33 Bitstring    1 * (3)          Reserved for IBM use.
    0024   36 Signed       4 *              Reserved for IBM use.
              00000004       REFNZTKL       4 Token area is 4 bytes when
                                            guest is not in z/Architecture
                                            mode.
              00000008       REFZTKNL       8 Token area is 8 bytes when
                                            guest is in z/Architecture mode.
              00000028       REFLEN         *-REFBK REFBK length in bytes.
              00000005       REFSIZE        (REFLEN+7)/8 REFBK size in
                                            doublewords
         This DSECT used to reference the list form of REFPAGE.

    REFENTRY DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      REFENTRY       Page References Services
                                            Parameter Block
    0000    0 Dbl-Word     8 REFCUREN (0)   Current entry.
    0000    0 Address      4 REFCALET       Current ALET entry.
    0004    4 Address      4 REFCADDR       Current address to block.
              00000008       REFLSTSZ       *-REFENTRY Size of entry.
    0008    8 Dbl-Word     8 REFNXTEN (0)   Next entry.
    0008    8 Address      4 REFNALET       Next ALET entry.
    000C   12 Address      4 REFNADDR       Next address to block.
         The following is used to get count of entries per page.
              00000200       REFENPPG       (*-*+4096)/(REFNXTEN-REFCUREN)
                                            The number of entries per page.

    REFBK Storage Layout

    *** REFBK - Page References Services Parameter Block
    *
    *     +-------------+-------------+-------------+-------------+
    *   0 |  REFDIAGC   |  REFFCODE   |  REFDWLEN   |  REFVERSN   |
    *     +-------------+-------------+-------------+-------------+
    *   8 |                       REFGADDR                        |
    *     +-------------------------------------------------------+
    *  10
    *
    *** REFBK - Page References Services Parameter Block

    *** Overlay for REFGADDR in REFBK
    *
    *     +---------------------------+--------------------+------+
    *   8 |         REFALET           |////////////////////|:ADDR3|
    *     +---------------------------+--------------------+------+
    *  10 |                       REFSELMK                        |
    *     +-------------------------------------------------------+
    *  18
    *
    *** Overlay for REFGADDR in REFBK

    *** Overlay for REFSELMK in REFBK
    *
    *     +---------------------------+---------------------------+
    *  10 |         REFCOUNT          |         REFSBGRP          |
    *     +---------------------------+---------------------------+
    *  18 |                       REFCMPMK                        |
    *     +-------------------------------------------------------+
    *  20
    *
    *** Overlay for REFSELMK in REFBK

    *** Overlay for REFCMPMK in REFBK
    *
    *     +---------------------------+---------------------------+
    *  18 |         REFSPAN           |         REFSKIP           |
    *     +------+--------------------+---------------------------+
    *  20 |:V2FLG|////////////////////|///////////////////////////|
    *     +------+--------------------+---------------------------+
    *  28
    *
    *** Overlay for REFCMPMK in REFBK

    *** Overlay for REFV2FLG in REFBK
    *
    *     +------+--------------------+---------------------------+
    *  20 |:DIREC|////////////////////|///////////////////////////|
    *     +------+--------------------+---------------------------+
    *  28
    *
    *** Overlay for REFV2FLG in REFBK

    *** REFENTRY - Page References Services Parameter Block
    *
    *     +---------------------------+---------------------------+
    *   0 |         REFCALET          |         REFCADDR          |
    *     +---------------------------+---------------------------+
    *   8 |         REFNALET          |         REFNADDR          |
    *     +---------------------------+---------------------------+
    *  10
    *
    *** REFENTRY - Page References Services Parameter Block

    REFBK Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    REFADDR        000C
    REFADDR3       000F
    REFALET        0008
    REFCADDR       0004
    REFCALET       0000
    REFCMPMK       0018
    REFCOUNT       0010
    REFCTMAX       0010 00004000
    REFCTMIN       0010 00000002
    REFCUREN       0000
    REFDESCD       0020 FF
    REFDIAGC       0000
    REFDIREC       0020
    REFDWLEN       0004
    REFENPPG       000C 00000200
    REFFCODE       0002
    REFGADDR       0008
    REFGROUP       0010 00000010
    REFGRPMX       0010 00040000
    REFLEN         0024 00000028
    REFLSTSZ       0004 00000008
    REFNADDR       000C
    REFNALET       0008
    REFNXTEN       0008
    REFNZTKL       0024 00000004
    REFSBGRP       0014
    REFSELMK       0010
    REFSGPMX       0014 00040000
    REFSIZE        0024 00000005
    REFSKIP        001C
    REFSKPMX       001C 00020000
    REFSPAN        0018
    REFSPNMX       0018 00040000
    REFVERSN       0006
    REFVER1        0006 01
    REFVER2        0006 02
    REFV2FLG       0020
    REFZARCH       0020 80
    REFZTKNL       0024 00000008

    This information is
    based on z/VM V4R3.0.
    Last updated on 30 Apr 2002 at 17:27:32 EDT.

    Copyright IBM Corporation, 1990, 2002