DGNBK Back to Index page
 
Prolog 
Control Block Contents 
   DGNBK 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.


  DGNBK Prolog Top of page
 
 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.
 RELOCATION CONSIDERATIONS : None
 
 
  DGNBK Control Block Content Top of page
 

 DGNBK DSECT Top of page
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. .... DGNIBMIN X'20' DGNIBMIN This diagnose is for IBM internal use only. ...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 Top of page
 
          
*** 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 Top of page
 
 
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
DGNIBMIN       0077 20
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 7.3.0 Last updated on 22 Jun 2022 at 15:49:04 EDT.
Copyright IBM Corporation, 1990, 2022