Programming Interface Information: This information is NOT intended to be
used as Programming Interfaces of VM/ESA. It is to be used for diagnosis only.

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
 STATUS     : VM/ESA Version 2, Release 1.0
 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 Signed 4 * 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 EQU X'40' Reserved EQU X'20' Reserved ...1 .... DGNOVRNO X'10' This diagnose may not be overridden by the MODIFY command. EQU X'08' Reserved EQU X'04' Reserved .... ..1. DGNENABL X'02' This diagnose is ENABLED: if off, guest diag should get SPECERR EQU X'01' Reserved 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

 

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          |///////////////////////////|
*     +-------------+-------------+------+------+------+------+
*  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

(contains links to field and bit definitions)
Symbol         Dspl Value
-------------- ---- -----

CLASSA 0068 80

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

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

DGNNAME 0048

DGNOVRDE 0064

DGNOVRNO 0077 10

DGNPUSHD 0060

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 VM/ESA 2.4.0.
Last updated on 3 Aug 1999 at 11:51:15 EDT.
Copyright IBM Corporation, 1990, 1999