TTABK | Back to Index page

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

TTABK Prolog | Top of page

     NAME       : HCPTTABK
     DESCRIPTION: Table of Trace Entry Codes
     DSECT      : TTABK
     FUNCTION   :
                  This control block maps the structure of the
                  table of trace entry codes as they exist either
                  in HCPTTATB data area, or in free storage created
                  by the SET CPTRACE command processor.
     LOCATED BY :
                  PFXTTATB points to the non-explicit (default)
                  copy of the TTABK
                  VMDTTABK in every VMDBK
     CREATED BY :
                  HCPCFASC - SET CPTRACE command processor
                  The HCPTTATB data area, also mapped by this block,
                  is part of the CP resident nucleus
     DELETED BY :
                  HCPCFAFR - Fret TTABK's which SET CPTRACE acquired
                  HCPCFALG - Fret (if necessary) a VMDBK's TTABK
                  during LOGOFF processing
                  The HCPTTATB data area is never deleted
     SERIALIZED :
                  TTALOCK - prevents concurrent changes via multiple
                  SET CPTRACE commands
                  MP Defer - TTABK's in free storage are only fretted
                  via the MP defer mechanism (HCPMPDFR).
     RELOCATION CONSIDERATIONS : None
     NOTES      :
            The trace entry codes below are ordered according
            to their frequency of occurrence in the system
            trace tables. As CP tracing evolves and changes,
            so should the order, in order to provide the best
            possible cache utilization.
            The number of fullwords reserved for TTACODES and
            TTACODEN must be equal or greater than the number
            of codes defined in HCPTTABK. The CKMAINT macro is
            used to ensure this by causing an assembly error
            when too many codes are added and there is no room.
            The size of HCPTTABK must not go over 1 page
            since a base register is used to address it.
     General Information -
            Trace Codes x'C0xx' are reserved for VICOM.
            Trace Codes x'7F00' to x'7FFF' are reserved for
            installation use.  See comments below.
            Codes that are added in here, must also be added to
            HCPTTA ASSEMBLE, at entry HCPTTATR.  The only
            exception would be if the trace code you add will
            NOT be controlled by the SET CPTRACE command (which
            should not be the norm).  Note that the way you
            specify the trace entry in HCPTTA must be reflected
            in the CP Command and Utility Reference, under the
            SET CPTRACE command.  That is, with SET CPTRACE, a
            system programmer can activate or deactivate the
            trace function for a specific code, a category of
            codes, or for all codes.  Let's look at an example
            from HCPTTA ASSEMBLE:
              TCTGEN 1,ALLCODES,MINLEN=3
              TCTGEN   2,EXT
              TCTGEN     3,0100        External interruption
              TCTGEN     3,PCDIAG
              TCTGEN       4,3C00      Proc controller diagnose
              TCTGEN       4,3C55      Proc controller diagnose
              TCTGEN     3,PCSERVC
            A system programmer could issue:
      SET CPTRACE OFF ALLCODES    * All tracing is off
      SET CPTRACE OFF EXT         * Turn off 0100, plus category
                                    PCDIAG & PCSERVC, which
                                    include 3C00 & 3C55, etc.
      SET CPTRACE OFF PCDIAG      * Turn off PCDIAG
      SET CPTRACE OFF 3C00        * Turn off 3C00 only
     Deleting a Trace Entry Code
       Starting in V5.4.0, deleted trace entry codes can be
       reused.  Trace entry codes are not permanently assigned.
       Do *not* simply remove the label from a trace entry
       code. Every trace entry code must have a label.

TTABK Control Block Content | Top of page

     TTABK DSECT
    Top of page

    Hex   Dec Type/Val   Lng Label (dup)    Comments
    ---- ---- --------- ---- -------------- --------
    0000    0 Structure      TTABK          Table of Trace Entry Codes
    0000    0 Bitstring  256 TTAPFX         Reserve 1 cache line
    0100  256 Address      4 TTACODES (600) Trace codes modifiable by SET
                                            CPTRACE
              00000960       TTACODSS       (*-TTACODES) Size of TTACODES
    0A60 2656 Address      4 TTACODEN (2)   Trace codes not modifiable by SET
                                            CPTRACE
              00000008       TTACODNS       (*-TTACODEN) Size of TTACODEN
    0A68 2664 Signed       4 TTAEND (0)     End of TTABK
              0000015D       TTASIZE        (*-TTAPFX+127+7)/8 Size of TTABK
                                            for dynamic allocation. Extra
                                            space for cache alignment
                                            included.
              00000005       TTATCTLV       5 number of levels in trace
                                            category tree
                 TTABK prefix
                 Put on a separate cache line because of TTALOCK.
    0000    0 Address      4 TTACHN         TTABK chain pointer
    0004    4 Address      4 TTAALLOC       address of allocated storage
    0008    8 Character    8 TTANAME        explicit trace name
    0010   16 Dbl-Word     8 TTALOCK (3)    lock
    0028   40 Signed       4 TTACODE (0)    trace code (to use w/ indexing)
                 Trace codes, starting with the most frequent so
                 they are on the same cache line.
                                     Minidisk cache trace entries
                                     I/O passthrough entries:
                                     Container entries
         cmt     $tta      C0xx      Reserved for VICOM
                 TRACE CODES FOR CFCC
                 TRACG codes for FTC (Full Track Cache) aka MDC.
                 See trace codes X'8000' less than these.
                 TRACE CODES FOR QDIO
                 TRACE CODES FOR SPIN LOCK ACQUISITION/RELEASE
                 These trace entries are only cut for formal
                 spin locks if the HCPSYNC and HCPUSYNC macros
                 invoked to obtain or release them have TRACE=YES
                 or TRACE=DEBUGUT specified. If TRACE=DEBUGUT,
                 these trace entries are only cut in the debug
                 unit test (&HCPDBGUT) builds.  Once the code
                 is shipped these traces are not cut because of
                 the adverse performance impact they might create.
                 TRACE CODES FOR SSI
                 TRACE CODES FOR VIRTUAL ARCHITECTURE
                 TRACE CODES FOR LGR MEMORY MOVE
            Trace codes for select XLC compiler entry/exit points
                 Trace codes for distributed shared-exclusive
                 spin lock acquisition/release.
                 These trace entries are only cut for formal
                 spin locks if the HCPSXLLK and HCPSXLUL macros
                 invoked to obtain or release them have TRACE=YES
                 or TRACE=DEBUGUT specified. If TRACE=DEBUGUT,
                 these trace entries are only cut in the debug
                 unit test (&HCPDBGUT) builds.  Once the code
                 is shipped these traces are not cut because of
                 the adverse performance impact they might create.
            Trace codes for CRYPTO AP instructions
                 Trace Codes for CPU Measurement Facility
                 Sampling
              Line reserved for IBM trace codes 1.
              Line reserved for IBM trace code  2.
              Line reserved for IBM trace code  3.
              Line reserved for IBM trace code  4.
              Line reserved for IBM trace code  5.
              Line reserved for IBM trace code  6.
              Line reserved for IBM trace code  7.
              Line reserved for IBM trace code  8.
              Line reserved for IBM trace code  9.
              Line reserved for IBM trace code  9.
           Trace Codes 7F00 to 7FFF are reserved for installation
           use.  Programs that use these must be recompiled every
           time after IBM service is installed because the offset
           from the start of the TTABK may change.
              Line reserved for customer/vendor A trace codes.
              Line reserved for customer/vendor B trace codes.
              Line reserved for customer/vendor C trace codes.
              Line reserved for customer/vendor D trace codes.
              Line reserved for customer/vendor E trace codes.
                 ENDTTA
                 Codes not modifiable by SET CPTRACE
    0A60 2656 Address      4 TTAMWP         Trace page full during (MCH)
                                            machine check handling
    0A64 2660 Address      4 TTANOGPG       Inserted every hour to avoid(TTI)
                                            large gaps in the trace table

TTABK Storage Layout | Top of page

    *** TTABK - Table of Trace Entry Codes
    *
    *     +-------------------------------------------------------+
    *   0 |                                                       |
    *     =                        TTAPFX                         =
    *     |                                                       |
    *     +-------------------------------------------------------+
    * 100 |                                                       |
    *     =                       TTACODES                        =
    *     |                                                       |
    *     +-------------------------------------------------------+
    * A60 |                       TTACODEN                        |
    *     +-------------------------------------------------------+
    *
    *** TTABK - Table of Trace Entry Codes

    *** Overlay for TTAPFX in TTABK
    *
    *     +---------------------------+---------------------------+
    *   0 |          TTACHN           |         TTAALLOC          |
    *     +---------------------------+---------------------------+
    *   8 |                       TTANAME                         |
    *     +-------------------------------------------------------+
    *  10 |                                                       |
    *     =                       TTALOCK                         =
    *     |                                                       |
    *     +-------------------------------------------------------+
    *
    *** Overlay for TTAPFX in TTABK

    *** Overlay for TTACODEN in TTABK
    *
    *     +---------------------------+---------------------------+
    * A60 |          TTAMWP           |         TTANOGPG          |
    *     +---------------------------+---------------------------+
    * A68
    *
    *** Overlay for TTACODEN in TTABK

TTABK Cross Reference | Top of page

    Symbol         Dspl Value
    -------------- ---- -----
    TTAALLOC       0004
    TTACHN         0000
    TTACODE        0028
    TTACODEN       0A60
    TTACODES       0100
    TTACODNS       0A60 00000008
    TTACODSS       0100 00000960
    TTAEND         0A68
    TTALOCK        0010
    TTAMWP         0A60
    TTANAME        0008
    TTANOGPG       0A64
    TTAPFX         0000
    TTASIZE        0A68 0000015D
    TTATCTLV       0A68 00000005

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