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

DGNBK

Prolog  

Control Block Contents  
   DGNBK DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  


DGNBK Prolog

 NAME       : HCPDGNBK
 DESCRIPTION: Diagnose Table Entry Block
 DSECT      : DGNBK
 FUNCTION   : The Diagnose Table Entry Blocks are used to control and
              to locate the modules that are called when a virtual
              machine has executed a diagnose instruction.
 LOCATED BY : Diagnose radix tree, anchored in the Diagnose Control
              Header, which is pointed to by SYSDIAGS in SYSCM.
              DGNOVRDE if an MODIFY operation has been done but
              no MODIFY RESET has been done.
 CREATED BY : HCPDDG   as a result of DEFINE DIAGNOSE command or
              configuration statement.
              HCPHVB   assembly during SYSGEN.
              HCPHVAAD adds a new DGNBK (created by someone else)
              to the DGNBK radix tree
              HCPDDGOV as a result of MODIFY processing
 DELETED BY : None
 REFERENCES : HCPCLASS - Privilege class definitions
              The DGNBK begins with storage that is mapped by the
              ICRBK DSECT.  This storage is followed by the real
              DGNBK fields that define and control the diagnose code.
 SERIALIZED : Changes to the contents of DGNBKs are typically done
              by diagnose A0 and by User Class Restructure, and
              under the SYSLCKC4 lock.

 

DGNBK Control Block Content


DGNBK DSECT

Hex   Dec Type/Val   Lng Label (dup)    Comments
---- ---- --------- ---- -------------- --------
0000    0 Structure      DGNBK          Diagnose Table Entry Block
     These fields map the Indirect Call Request Block. These fields must
     match the analogous fields in the ICRBK. The fields are defined
     explicitly here in order that BLOCKDEF and BLOCKMAP can correctly
     describe them.
0000    0 Character    8 DGNEPNAM       Name of the entry routine
0008    8 Address      4 DGNADDRL       Address of the ICLBK, or 0.
                                        MODIFY RESET will need to clear
                                        this field to zero.
000C   12 Bitstring    1 DGNATTR        Attributes for HCPCALL
000D   13 Bitstring    1 *              Reserved
000E   14 Bitstring    1 *              Reserved
000F   15 Bitstring    1 *              Reserved
     Thus ends the Indirect Call Request Block fields
     The user fields should remain at the front of the block
0010   16 Dbl-Word     8 DGNUSRD1       Reserved for non-IBM use
0018   24 Dbl-Word     8 DGNUSRD2       Reserved for non-IBM use
0020   32 Signed       4 DGNUSRF1       Reserved for non-IBM use
0024   36 Signed       4 DGNUSRF2       Reserved for non-IBM use
0028   40 Signed       2 DGNUSRH1       Reserved for non-IBM use
002A   42 Signed       2 DGNUSRH2       Reserved for non-IBM use
002C   44 Bitstring    1 DGNUSRX1       Reserved for non-IBM use
002D   45 Bitstring    1 DGNUSRX2       Reserved for non-IBM use
002E   46 Bitstring    1 DGNUSRX3       Reserved for non-IBM use
002F   47 Bitstring    1 DGNUSRX4       Reserved for non-IBM use
0030   48 Dbl-Word     8 DGNLOCK (3)    Lock to control updates to this
                                        DGNBK.
0048   72 Character    8 DGNNAME        Diagnose name: DIAGxxxx
0050   80 Address      4 DGNADDR        Address of routine. If zero, then
                                        call DGNEPNAM indirectly
0054   84 Signed       4 DGNCOUNT       Diagnose issued this many times
0058   88 Signed       8 *              Reserved
0060   96 Address      4 DGNPUSHD       Address of pushed DGNBK
0064  100 Address      4 DGNOVRDE       For use by MODIFY and OVERRIDE
0068  104 Signed       4 DGNCLASS       Diagnose privilege class(es)
006C  108 Bitstring    1 DGNRATTR       Register number attributes
006D  109 Bitstring    1 DGNCATTR       Register content attributes
006E  110 Bitstring    1 DGNPATTR       Diagnose parameter attributes
006F  111 Bitstring    1 *              Reserved
0070  112 Bitstring    2 DGNCODE        Diagnose code in binary
0072  114 Signed       2 *              Reserved
0074  116 Bitstring    1 DGNFLAG        Diagnose flags
0075  117 Bitstring    1 DGNTCALL       Type of call to diag processor
0076  118 Bitstring    1 DGNSECUR       Diagnose security flags
0077  119 Bitstring    1 DGNFLAG1       Diag flags - DGNFLAG extended
          1... ....      DGNINVAR       X'80' This diagnose is not
                                        allowed in host-Access Register
                                        mode
          .1.. ....      DGNLONGR       X'40' Callee is LONGREG
          ...1 ....      DGNOVRNO       X'10' This diagnose may not be
                                        overridden by the MODIFY command.
          .... ..1.      DGNENABL       X'02' This diagnose is ENABLED:
                                        if off, guest diag should get
                                        SPECERR
          00000078       DGNBSIZE       *-DGNBK Size of DGNBK in bytes
          0000000F       DGNSIZE        (*-DGNBK+7)/8 Size in double
                                        words
0068  104 Bitstring    1 DGNCLB0
          1... ....      CLASSA         X'80' CLASS A FUNCTIONS
          .1.. ....      CLASSB         X'40' CLASS B FUNCTIONS
          ..1. ....      CLASSC         X'20' CLASS C FUNCTIONS
          ...1 ....      CLASSD         X'10' CLASS D FUNCTIONS
          .... 1...      CLASSE         X'08' CLASS E FUNCTIONS
          .... .1..      CLASSF         X'04' CLASS F FUNCTIONS
          .... ..1.      CLASSG         X'02' CLASS G FUNCTIONS
          .... ...1      CLASSH         X'01' CLASS H FUNCTIONS
0069  105 Bitstring    1 DGNCLB1
          1... ....      CLASSI         X'80' CLASS I FUNCTIONS
          .1.. ....      CLASSJ         X'40' CLASS J FUNCTIONS
          ..1. ....      CLASSK         X'20' CLASS K FUNCTIONS
          ...1 ....      CLASSL         X'10' CLASS L FUNCTIONS
          .... 1...      CLASSM         X'08' CLASS M FUNCTIONS
          .... .1..      CLASSN         X'04' CLASS N FUNCTIONS
          .... ..1.      CLASSO         X'02' CLASS O FUNCTIONS
          .... ...1      CLASSP         X'01' CLASS P FUNCTIONS
006A  106 Bitstring    1 DGNCLB2
          1... ....      CLASSQ         X'80' CLASS Q FUNCTIONS
          .1.. ....      CLASSR         X'40' CLASS R FUNCTIONS
          ..1. ....      CLASSS         X'20' CLASS S FUNCTIONS
          ...1 ....      CLASST         X'10' CLASS T FUNCTIONS
          .... 1...      CLASSU         X'08' CLASS U FUNCTIONS
          .... .1..      CLASSV         X'04' CLASS V FUNCTIONS
          .... ..1.      CLASSW         X'02' CLASS W FUNCTIONS
          .... ...1      CLASSX         X'01' CLASS X FUNCTIONS
006B  107 Bitstring    1 DGNCLB3
          1... ....      CLASSY         X'80' CLASS Y FUNCTIONS
          .1.. ....      CLASSZ         X'40' CLASS Z FUNCTIONS
          ..1. ....      CLASS1         X'20' CLASS 1 FUNCTIONS
          ...1 ....      CLASS2         X'10' CLASS 2 FUNCTIONS
          .... 1...      CLASS3         X'08' CLASS 3 FUNCTIONS
          .... .1..      CLASS4         X'04' CLASS 4 FUNCTIONS
          .... ..1.      CLASS5         X'02' CLASS 5 FUNCTIONS
          .... ...1      CLASS6         X'01' CLASS 6 FUNCTIONS CLASSALL
                                        DEFINITION
          0DGNCLB3       CLASSALL       X'FFFFFFFF' ALL FUNCTIONS ALLOWED

 

DGNBK Storage Layout

          
*** DGNBK - Diagnose Table Entry Block
*
*     +-------------------------------------------------------+
*   0 |                       DGNEPNAM                        |
*     +---------------------------+------+------+------+------+
*   8 |         DGNADDRL          |:ATTR |//////|//////|//////|
*     +---------------------------+------+------+------+------+
*  10 |                       DGNUSRD1                        |
*     +-------------------------------------------------------+
*  18 |                       DGNUSRD2                        |
*     +---------------------------+---------------------------+
*  20 |         DGNUSRF1          |         DGNUSRF2          |
*     +-------------+-------------+------+------+------+------+
*  28 |  DGNUSRH1   |  DGNUSRH2   |:USRX1|:USRX2|:USRX3|:USRX4|
*     +-------------+-------------+------+------+------+------+
*  30 |                                                       |
*     =                       DGNLOCK                         =
*     |                                                       |
*     +-------------------------------------------------------+
*  48 |                       DGNNAME                         |
*     +---------------------------+---------------------------+
*  50 |         DGNADDR           |         DGNCOUNT          |
*     +---------------------------+---------------------------+
*  58 |///////////////////////////////////////////////////////|
*     +---------------------------+---------------------------+
*  60 |         DGNPUSHD          |         DGNOVRDE          |
*     +---------------------------+------+------+------+------+
*  68 |         DGNCLASS          |:RATTR|:CATTR|:PATTR|//////|
*     +-------------+-------------+------+------+------+------+
*  70 |  DGNCODE    |/////////////|:FLAG |:TCALL|:SECUR|:FLAG1|
*     +-------------+-------------+------+------+------+------+
*  78
*
*** DGNBK - Diagnose Table Entry Block
          
*** Overlay for DGNCLASS in DGNBK
*
*     +------+------+------+------+
*  68 |:CLB0 |:CLB1 |:CLB2 |:CLB3 | 6C
*     +------+------+------+------+
*
*** Overlay for DGNCLASS in DGNBK

 

DGNBK Cross Reference

Symbol         Dspl Value
-------------- ---- -----
CLASSA         0068 80
CLASSALL       006B 0DGNCLB3
CLASSB         0068 40
CLASSC         0068 20
CLASSD         0068 10
CLASSE         0068 08
CLASSF         0068 04
CLASSG         0068 02
CLASSH         0068 01
CLASSI         0069 80
CLASSJ         0069 40
CLASSK         0069 20
CLASSL         0069 10
CLASSM         0069 08
CLASSN         0069 04
CLASSO         0069 02
CLASSP         0069 01
CLASSQ         006A 80
CLASSR         006A 40
CLASSS         006A 20
CLASST         006A 10
CLASSU         006A 08
CLASSV         006A 04
CLASSW         006A 02
CLASSX         006A 01
CLASSY         006B 80
CLASSZ         006B 40
CLASS1         006B 20
CLASS2         006B 10
CLASS3         006B 08
CLASS4         006B 04
CLASS5         006B 02
CLASS6         006B 01
DGNADDR        0050
DGNADDRL       0008
DGNATTR        000C
DGNBSIZE       0077 00000078
DGNCATTR       006D
DGNCLASS       0068
DGNCLB0        0068
DGNCLB1        0069
DGNCLB2        006A
DGNCLB3        006B
DGNCODE        0070
DGNCOUNT       0054
DGNENABL       0077 02
DGNEPNAM       0000
DGNFLAG        0074
DGNFLAG1       0077
DGNINVAR       0077 80
DGNLOCK        0030
DGNLONGR       0077 40
DGNNAME        0048
DGNOVRDE       0064
DGNOVRNO       0077 10
DGNPATTR       006E
DGNPUSHD       0060
DGNRATTR       006C
DGNSECUR       0076
DGNSIZE        0077 0000000F
DGNTCALL       0075
DGNUSRD1       0010
DGNUSRD2       0018
DGNUSRF1       0020
DGNUSRF2       0024
DGNUSRH1       0028
DGNUSRH2       002A
DGNUSRX1       002C
DGNUSRX2       002D
DGNUSRX3       002E
DGNUSRX4       002F

This information is based on z/VM V4R2.0. Last updated on 17 Oct 2001 at 15:04:56 EDT.
Copyright IBM Corporation, 1990, 2001