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
          1... ....      DGNRXN15       X'80' DGNRXN15 R15 may not be
                                        specified for Rx
          .1.. ....      DGNRYN15       X'40' DGNRYN15 R15 may not be
                                        specified for Ry
          ..1. ....      DGNRNOVL       X'20' DGNRNOVL Rx/Rx+1 may not
                                        overlap Ry/Ry+1
          ...1 ....      DGNRXEVN       X'10' DGNRXEVN Rx must be an even
                                        register
          .... 1...      DGNRYEVN       X'08' DGNRYEVN Ry must be an even
                                        register
          .... .1..      DGNRXNRY       X'04' DGNRXNRY Rx and Ry must be
                                        different
          .... ..1.      DGNRXNY1       X'02' DGNRXNY1 Rx and Ry+1 must
                                        be different
          .... ...1      DGNRYNX1       X'01' DGNRYNX1 Ry and Rx+1 must
                                        be different
006D  109 Bitstring    1 DGNCATTR       Register content attributes
          1... ....      DGNCRXFW       X'80' DGNCRXFW Rx must be
                                        fullword-aligned
          .1.. ....      DGNCRXDW       X'40' DGNCRXDW Rx must be
                                        doubleword-aligned
006E  110 Bitstring    1 DGNPATTR       Diagnose parameter attributes
          1... ....      DGNPAR64       X'80' DGNPAR64 Valid in 64-bit
                                        addressing mode. This flag also
                                        causes the handler routine to
                                        receive pointers to longreg
                                        rather than shortreg guest Rx/Ry
                                        register fields.
          .1.. ....      DGNPNO64       X'40' DGNPNO64 Not valid for a
                                        guest in z/Architecture mode
                                        (regardless of addressing mode)
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
          1... ....      DGNANY         X'80' DGNANY Diag has privilege
                                        class 'ANY'
          ..1. ....      DGNVPROT       X'20' DGNVPROT This flag means
                                        that the protect setting
                                        (DGNPROT) of this diag may be
                                        dynamically altered by the
                                        External Security Manager (ESM).
          ...1 ....      DGNPROC        X'10' DGNPROC Indicates that no
                                        call to the ESM will be made in
                                        the diagnose router. This means
                                        that all required security calls
                                        to the ESM must be made by the
                                        diagnose processor. If DGNPROC is
                                        set for one version, then it must
                                        be set for all versions.
          .... 1...      DGNCKRET       X'08' DGNCKRET Check rc from
                                        diagnose processor
          .... .1..      DGNINVXC       X'04' DGNINVXC This diagnose is
                                        prohibited in ESA/XC mode
          .... ..1.      DGNVMAC        X'02' DGNVMAC The MAC setting
                                        (DGNMAC) for this diag may be
                                        dynamically altered by the ESM.
          .... ...1      DGNBYIBM       X'01' DGNBYIBM This is an IBM
                                        diagnose.
0075  117 Bitstring    1 DGNTCALL       Type of call to diag processor
          1... ....      DGNCALL        X'80' DGNCALL Transfer control
                                        via HCPCALL
          .1.. ....      DGNGOTO        X'40' DGNGOTO Transfer control
                                        via HCPGOTO
          ..1. ....      DGNSTACK       X'20' DGNSTACK Transfer control
                                        via HCPSTKCF
          ...1 ....      DGNLABEL       X'10' DGNLABEL Transfer control
                                        to a label
          .... 1...      DGNICALL       X'08' DGNICALL Transfer via
                                        internal HCPCALL
          .... .1..      DGNFCALL       X'04' DGNFCALL Transfer via
                                        HCPCALL FASTDYN
0076  118 Bitstring    1 DGNSECUR       Diagnose security flags
          1... ....      DGNAUDIT       X'80' DGNAUDIT Audit diagnose
          .1.. ....      DGNPROT        X'40' DGNPROT Protect diagnose
          ..1. ....      DGNMAC         X'20' DGNMAC Diagnose is to be
                                        Mandatory Access Controlled
0077  119 Bitstring    1 DGNFLAG1       Diag flags - DGNFLAG extended
          1... ....      DGNINVAR       X'80' DGNINVAR This diagnose is
                                        not allowed in host-Access
                                        Register mode
          .1.. ....      DGNLONGR       X'40' DGNLONGR Callee is LONGREG
          ...1 ....      DGNOVRNO       X'10' DGNOVRNO This diagnose may
                                        not be overridden by the MODIFY
                                        command.
          .... ..1.      DGNENABL       X'02' DGNENABL 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' CLASSA CLASS A FUNCTIONS
          .1.. ....      CLASSB         X'40' CLASSB CLASS B FUNCTIONS
          ..1. ....      CLASSC         X'20' CLASSC CLASS C FUNCTIONS
          ...1 ....      CLASSD         X'10' CLASSD CLASS D FUNCTIONS
          .... 1...      CLASSE         X'08' CLASSE CLASS E FUNCTIONS
          .... .1..      CLASSF         X'04' CLASSF CLASS F FUNCTIONS
          .... ..1.      CLASSG         X'02' CLASSG CLASS G FUNCTIONS
          .... ...1      CLASSH         X'01' CLASSH CLASS H FUNCTIONS
0069  105 Bitstring    1 DGNCLB1
          1... ....      CLASSI         X'80' CLASSI CLASS I FUNCTIONS
          .1.. ....      CLASSJ         X'40' CLASSJ CLASS J FUNCTIONS
          ..1. ....      CLASSK         X'20' CLASSK CLASS K FUNCTIONS
          ...1 ....      CLASSL         X'10' CLASSL CLASS L FUNCTIONS
          .... 1...      CLASSM         X'08' CLASSM CLASS M FUNCTIONS
          .... .1..      CLASSN         X'04' CLASSN CLASS N FUNCTIONS
          .... ..1.      CLASSO         X'02' CLASSO CLASS O FUNCTIONS
          .... ...1      CLASSP         X'01' CLASSP CLASS P FUNCTIONS
006A  106 Bitstring    1 DGNCLB2
          1... ....      CLASSQ         X'80' CLASSQ CLASS Q FUNCTIONS
          .1.. ....      CLASSR         X'40' CLASSR CLASS R FUNCTIONS
          ..1. ....      CLASSS         X'20' CLASSS CLASS S FUNCTIONS
          ...1 ....      CLASST         X'10' CLASST CLASS T FUNCTIONS
          .... 1...      CLASSU         X'08' CLASSU CLASS U FUNCTIONS
          .... .1..      CLASSV         X'04' CLASSV CLASS V FUNCTIONS
          .... ..1.      CLASSW         X'02' CLASSW CLASS W FUNCTIONS
          .... ...1      CLASSX         X'01' CLASSX CLASS X FUNCTIONS
006B  107 Bitstring    1 DGNCLB3
          1... ....      CLASSY         X'80' CLASSY CLASS Y FUNCTIONS
          .1.. ....      CLASSZ         X'40' CLASSZ CLASS Z FUNCTIONS
          ..1. ....      CLASS1         X'20' CLASS1 CLASS 1 FUNCTIONS
          ...1 ....      CLASS2         X'10' CLASS2 CLASS 2 FUNCTIONS
          .... 1...      CLASS3         X'08' CLASS3 CLASS 3 FUNCTIONS
          .... .1..      CLASS4         X'04' CLASS4 CLASS 4 FUNCTIONS
          .... ..1.      CLASS5         X'02' CLASS5 CLASS 5 FUNCTIONS
          .... ...1      CLASS6         X'01' CLASS6 CLASS 6 FUNCTIONS
                                        CLASSALL DEFINITION
          0DGNCLB3       CLASSALL       X'FFFFFFFF' CLASSALL 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
DGNANY         0074 80
DGNATTR        000C
DGNAUDIT       0076 80
DGNBSIZE       0077 00000078
DGNBYIBM       0074 01
DGNCALL        0075 80
DGNCATTR       006D
DGNCKRET       0074 08
DGNCLASS       0068
DGNCLB0        0068
DGNCLB1        0069
DGNCLB2        006A
DGNCLB3        006B
DGNCODE        0070
DGNCOUNT       0054
DGNCRXDW       006D 40
DGNCRXFW       006D 80
DGNENABL       0077 02
DGNEPNAM       0000
DGNFCALL       0075 04
DGNFLAG        0074
DGNFLAG1       0077
DGNGOTO        0075 40
DGNICALL       0075 08
DGNINVAR       0077 80
DGNINVXC       0074 04
DGNLABEL       0075 10
DGNLOCK        0030
DGNLONGR       0077 40
DGNMAC         0076 20
DGNNAME        0048
DGNOVRDE       0064
DGNOVRNO       0077 10
DGNPAR64       006E 80
DGNPATTR       006E
DGNPNO64       006E 40
DGNPROC        0074 10
DGNPROT        0076 40
DGNPUSHD       0060
DGNRATTR       006C
DGNRNOVL       006C 20
DGNRXEVN       006C 10
DGNRXNRY       006C 04
DGNRXNY1       006C 02
DGNRXN15       006C 80
DGNRYEVN       006C 08
DGNRYNX1       006C 01
DGNRYN15       006C 40
DGNSECUR       0076
DGNSIZE        0077 0000000F
DGNSTACK       0075 20
DGNTCALL       0075
DGNUSRD1       0010
DGNUSRD2       0018
DGNUSRF1       0020
DGNUSRF2       0024
DGNUSRH1       0028
DGNUSRH2       002A
DGNUSRX1       002C
DGNUSRX2       002D
DGNUSRX3       002E
DGNUSRX4       002F
DGNVMAC        0074 02
DGNVPROT       0074 20

This information is based on z/VM V5R3.0. Last updated on 25 Jun 2007 at 16:20:56 EDT.
Copyright IBM Corporation, 1990, 2007