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

#### HDPBK

Prolog

Control Block Contents
HDPBK DSECT
HDPQPTRA DSECT

Storage Layout

Cross Reference (Contains links to field and bit definitions)

#### HDPBK Prolog

     Name       : HCPHDPBK
     Description: Host DAT table Programming area block
     DSECT      : HDPBK
     Function   : Contain programming use information specific to
                  a particular host DAT table.  Only used for host
                  region and segment tables.
     Located by : FRMPTE field of the FRMTE(s) corresponding to the
                  real storage frame containing the DAT table in
                  question
     Created by : HCPHDTxx
     Deleted by : HCPHDTxx
     Serialized :
     Comments   : The HDPBK must reside on a doubleword boundary.

#### HDPBK Control Block Content

#### HDPBK DSECT

####

####

####

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      HDPBK          Host DAT table Programming area
                                            block
    0000    0 Signed       8 HDPTD          Table origin, table type, and
                                            table length of DAT table
                                            associated with this HDPBK, in
                                            ASCE format (DT bits, not R*TE
                                            format TT bits). Table offset
                                            (TF) bits are assumed to be
                                            unused.
    0008    8 Signed       8 HDPVSTRT       Starting virtual address of
                                            virtual address range represented
                                            by associated table. Must be zero
                                            in highest level table designated
                                            by the ASCE.
    0010   16 Signed       8 HDPVEND        Ending virtual address of virtual
                                            address range represented by
                                            associated table; highest
                                            non-null virtual address in the
                                            associated table. For highest
                                            level table (pointed to by
                                            ASCASCE), should equal ASCHIBYTE
                                            and VMDBK SI2GMSLM
         Back pointers to higher level control blocks and tables.
         HDPASCBK and HDPASTE are filled in for all associated table types.
         HDPHLRTE and HDPHLHDP are filled in if the associated table is not the
         highest level table in this address space's DAT structures; they point
         to the higher level R*TE which designates the table associated with
         this HDPBK, and the HDPBK which is associated with the table containing
         that higher level R*TE, respectively.
    0018   24 Signed       4 HDPASCBK       ASCBK address
    001C   28 Signed       4 HDPASTE        ASTE address
    0020   32 Signed       4 *              Reserved for IBM use
    0024   36 Signed       4 HDPHLHDP       HDPBK associated with the region
                                            table containing the HDPHLRTE
                                            R*TE
    0028   40 Signed       4 *              Reserved for IBM use
    002C   44 Signed       4 HDPHLRTE       Higher level R*TE which
                                            designates this table (or 0 if
                                            this is the highest level table
                                            for the address space)
         Masks useful for processing virtual addresses represented by this
         table.
    0030   48 Signed       8 HDPVMAXM       Mask for generating highest
                                            virtual address in area (region
                                            or segment) represented by the
                                            associated table. Also, for
                                            highest level table designated by
                                            ASCE, is the highest virtual
                                            address representable by an ASCE
                                            with matching DT bits.
                  for R1T:  X'001FFFFFFFFFFFFF'
                  for R2T:  X'000003FFFFFFFFFF'
                  for R3T:  X'000000007FFFFFFF'
                  for ST:   X'00000000000FFFFF'
    0038   56 Signed       8 HDPISOXM       Mask for isolating index portion
                                            of virtual address in area
                                            represented by the associated
                                            table:
                  for R1T:  x'FFE0000000000000' - isolate R1X
                  for R2T:  x'001FFC0000000000' - isolate R2X
                  for R3T:  x'000003FF80000000' - isolate R3X
                  for ST:   x'000000007FF00000' - isolate SX
         Pointers to the HDPBKs associated with existing tables at this level
         which represent the next lower and next higher virtual address range.
         (In sparse spaces, these HDPBKs likely represent virtual address ranges
         which are not contiguous with the address range represented by this
         HDPBK.) Any code which validates or invalidates R*TEs at any level must
         maintain these pointers. Allows quick traversal to the next existing
         table at the given level, regardless how big the virtual address gap
         between the tables may be.
    0040   64 Signed       8 HDPADLQA (0)   Addressable HDPBK queue area -
                                            Doubly linked queue of HDPBKs
                                            anchored at ASCADHDQ.
    0040   64 Signed       4 HDPADLNX       Pointer to a next HDPBK (of
                                            indeterminate level) representing
                                            the next addressable virtual
                                            storage byte address after the
                                            end of the virtual address range
                                            represented by the table
                                            associated with this HDPBK. The
                                            HDBK pointed to may or may not be
                                            the lowest level HDPBK
                                            representing the next addressable
                                            virtual storage byte.
    0044   68 Signed       4 HDPADLPR       Pointer to a previous HDPBK (of
                                            indeterminate level) representing
                                            the last addressable virtual
                                            storage byte address previous to
                                            the start of the virtual address
                                            range represented by the table
                                            associated with this HDPBK. The
                                            HDBK pointed to may or may not be
                                            the lowest level HDPBK
                                            representing the previous highest
                                            addressable virtual storage byte.
    0048   72 Signed       8 HDPLVLQA (0)   HDPBK level queue area
    0048   72 Signed       4 HDPLVLNX       Pointer to next HDPBK at this
                                            level (if any). If non-zero,
                                            points to the HDPBK associated
                                            with the existing table at this
                                            level which represents the next
                                            higher virtual address range.
    004C   76 Signed       4 HDPLVLPR       Pointer to previous HDPBK at this
                                            level (if any). If non-zero,
                                            points to the HDPBK associated
                                            with the existing table at this
                                            level which represents the next
                                            lower virtual address range.
    0050   80 Signed       4 HDP$END (0)    End of control block
              00000050       HDPLEN         *-HDPBK Length of HDPBK in bytes
              0000000A       HDPSIZE        (HDPLEN+7)/8 Size of HDPBK in
                                            doublewords
         DSECT to map individual HDPxxxQA queue pointer areas, can also be used
         on individual ASCxxHDQ queue header areas.

    HDPQPTRA DSECT

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      HDPQPTRA       Host DAT table Programming area
                                            block
    0000    0 Signed       4 HDPQPNXT       First (next) HDPBK on queue
    0004    4 Signed       4 HDPQPPRV       Last (previous) HDPBK on queue
              00000008       HDPQPLEN       *-HDPQPTRA Length of one HDPBK
                                            pointer area

    HDPBK Storage Layout

    *** HDPBK - Host DAT table Programming area block
    *
    *     +-------------------------------------------------------+
    *   0 |                        HDPTD                          |
    *     +-------------------------------------------------------+
    *   8 |                       HDPVSTRT                        |
    *     +-------------------------------------------------------+
    *  10 |                       HDPVEND                         |
    *     +---------------------------+---------------------------+
    *  18 |         HDPASCBK          |         HDPASTE           |
    *     +---------------------------+---------------------------+
    *  20 |///////////////////////////|         HDPHLHDP          |
    *     +---------------------------+---------------------------+
    *  28 |///////////////////////////|         HDPHLRTE          |
    *     +---------------------------+---------------------------+
    *  30 |                       HDPVMAXM                        |
    *     +-------------------------------------------------------+
    *  38 |                       HDPISOXM                        |
    *     +---------------------------+---------------------------+
    *  40 |         HDPADLNX          |         HDPADLPR          |
    *     +---------------------------+---------------------------+
    *  48 |         HDPLVLNX          |         HDPLVLPR          |
    *     +---------------------------+---------------------------+
    *
    *** HDPBK - Host DAT table Programming area block

    *** HDPQPTRA - Host DAT table Programming area block
    *
    *     +---------------------------+---------------------------+
    *   0 |         HDPQPNXT          |         HDPQPPRV          |
    *     +---------------------------+---------------------------+
    *   8
    *
    *** HDPQPTRA - Host DAT table Programming area block

    HDPBK Cross Reference

    Symbol         Dspl Value
    -------------- ---- -----
    HDP$END        0050
    HDPADLNX       0040
    HDPADLPR       0044
    HDPADLQA       0040
    HDPASCBK       0018
    HDPASTE        001C
    HDPHLHDP       0024
    HDPHLRTE       002C
    HDPISOXM       0038
    HDPLEN         0050 00000050
    HDPLVLNX       0048
    HDPLVLPR       004C
    HDPLVLQA       0048
    HDPQPLEN       0004 00000008
    HDPQPNXT       0000
    HDPQPPRV       0004
    HDPSIZE        0050 0000000A
    HDPTD          0000
    HDPVEND        0010
    HDPVMAXM       0030
    HDPVSTRT       0008

    This information is
    based on z/VM V4R3.0.
    Last updated on 1 May 2002 at 07:44:41 EDT.

    Copyright IBM Corporation, 1990, 2002