MDGBK | Back to Index page

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

MDGBK Prolog | Top of page

     NAME       : HCPMDGBK
     DESCRIPTION: MONDIAG control block
     DSECT      : MDGBK
     FUNCTION   : Information relating to an application buffer
                  created by the virtual machine via Diagnose 'DC'.
     LOCATED BY : MNDA_MDGBK_LHEAD:  Beginning of MONDIAG chain
                  MNDA_MDGBK_LTAIL:  End of MONDIAG chain
     CREATED BY : HCPMXPDC        Diagnose 'DC' START processing
                  HCPMXSEV        Diagnose 'DC' EVENT processing
                  HCPMXTCF        Diagnose 'DC' CONFIG processing
     DELETED BY : HCPMXSSP        Diagnose 'DC' STOP  processing
                  HCPMXSEV        Diagnose 'DC' EVENT processing
     REFERENCES : none
     SERIALIZED : The chain of HCPMDGBKs is serialized by the defer
                  lock MNDA_MDGBK_LOCK, which is located in HCPMNDBK.
     RELOCATION CONSIDERATIONS : This control block is relocated as part of a live
                  guest relocation (LGR).  The bits and fields that
                  need to be relocated are defined in the
                  corresponding LGRMDGBK COPY file.  Whenever changes
                  are made to this control block, consideration must
                  be given to any effects these changes will have on
                  a relocation.  If any new fields or bits are
                  defined, they may need to be relocated.  If
                  existing bits or fields are changed, corresponding
                  modifications may be required in the LGR version of
                  this control block.  Consider also the effects of
                  these changes on a relocation involving a back-level
                  release of CP.
     NOTES      : -- An MDGBK is created for each invocation of Diagnose 'DC' START
                  -- An MDGBK is deleted under the following circumstances:
                  - When a Diagnose 'DC' STOP is issued
                  - When a virtual storage reset is detected
                  - When a segment purge occurs and it is determined
                  that an application buffer resides within the
                  address range of the NSS that is to be purged

MDGBK Control Block Content | Top of page

     MDGBK DSECT
    Top of page

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      MDGBK          MONDIAG control block
    0000    0 Address      4 MDG_NEXT       Pointer to next MDGBK block in
                                            chain
    0004    4 Address      4 MDG_PREV       Pointer to previous MDGBK block
                                            in chain
    0008    8 Character    8 MDG_APBUF_GAA1_G (0)
                                            Guest absolute addr of the 1st
                                            page
    0008    8 Signed       4 MDG_APBUF_GAA1_HI
                                            of the appl buffer associated
                                            with
    000C   12 Signed       4 MDG_APBUF_GAA1_LO
                                            this MDGBK
    0010   16 Character    8 MDG_APBUF_GAA2_G (0)
                                            Guest absolute addr of the 2nd
                                            page
    0010   16 Signed       4 MDG_APBUF_GAA2_HI
                                            of the appl buffer associated
                                            with
    0014   20 Signed       4 MDG_APBUF_GAA2_LO
                                            this MDGBK. Applicable only when
                                            th application buffer crosses a
                                            page boundary, otherwise set to
                                            FFs.
    0018   24 Character   16 MDG_PROD_ID    Product-id and release id of the
                                            application placing the data in
                                            the buffer
    0028   40 Address      4 MDG_VMDBK_ADDR Address of the Base VMDBK that
                                            owns this application buffer
    002C   44 Address      2 MDG_BUFF_LEN   Total length (in bytes) of the
                                            application buffer. It will
                                            always be the sum of
                                            MDG_BUFF_LEN1 and MDG_BUFF_LEN2
    002E   46 Address      2 MDG_BUFF_LEN1  Length (in bytes) of the first
                                            page of the application buffer
    0030   48 Address      2 MDG_BUFF_LEN2  Length (in bytes) of the second
                                            page of the application buffer.
                                            Set to 0 unless the buffer
                                            crosses a page boundary.
    0032   50 Bitstring    1 MDG_STATUS     Status flags
    0033   51 Bitstring    1 *              Reserved for IBM use
    0034   52 Address      4 MDG_SNTBK_ADDR1
                                            Address of the 1st SNTBK if the
                                            application buffer address is
                                            within a saved segment
    0038   56 Address      4 MDG_SNTBK_ADDR2
                                            Address of the 2nd SNTBK if the
                                            application buffer address is
                                            within two saved segements
    003C   60 Bitstring    4 *              Reserved for IBM use
              00000040       MDG$END        *
              00000008       MDGSIZE        (MDG$END-MDGBK+7)/8 MDGBK size in
                                            doublewords

MDGBK Storage Layout | Top of page

    *** MDGBK - MONDIAG control block
    *
    *     +---------------------------+---------------------------+
    *   0 |         MDG_NEXT          |         MDG_PREV          |
    *     +---------------------------+---------------------------+
    *   8 |    MDG_APBUF_GAA1_HI      |    MDG_APBUF_GAA1_LO      |
    *     +---------------------------+---------------------------+
    *  10 |    MDG_APBUF_GAA2_HI      |    MDG_APBUF_GAA2_LO      |
    *     +---------------------------+---------------------------+
    *  18 |                     MDG_PROD_ID                       |
    *     |                                                       |
    *     +---------------------------+-------------+-------------+
    *  28 |      MDG_VMDBK_ADDR       |MDG_BUFF_LEN |MDG_BUFF_LEN1|
    *     +-------------+------+------+-------------+-------------+
    *  30 |MDG_BUFF_LEN2|(032) |//////|     MDG_SNTBK_ADDR1       |
    *     +-------------+------+------+---------------------------+
    *  38 |     MDG_SNTBK_ADDR2       |///////////////////////////|
    *     +---------------------------+---------------------------+
    *  40
    *
    *** MDGBK - MONDIAG control block

MDGBK Cross Reference | Top of page

    Symbol         Dspl Value
    -------------- ---- -----
    MDG$END        003C 00000040
    MDG_APBUF_GAA1_G
                   0008
    MDG_APBUF_GAA1_HI
                   0008
    MDG_APBUF_GAA1_LO
                   000C
    MDG_APBUF_GAA2_G
                   0010
    MDG_APBUF_GAA2_HI
                   0010
    MDG_APBUF_GAA2_LO
                   0014
    MDG_BUFF_LEN   002C
    MDG_BUFF_LEN1  002E
    MDG_BUFF_LEN2  0030
    MDG_NEXT       0000
    MDG_PREV       0004
    MDG_PROD_ID    0018
    MDG_SNTBK_ADDR1
                   0034
    MDG_SNTBK_ADDR2
                   0038
    MDG_STATUS     0032
    MDG_VMDBK_ADDR
                   0028
    MDGSIZE        003C 00000008

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