tqe_debug.h

Go to the documentation of this file.
00001 //      Module  TQE_DEBUG.H     "X-1"
00002 //
00003 //
00004 //      Copyright 2001 Compaq Computer Corporation
00005 //    
00006 //      Compaq and the Compaq logo Registered in U.S. Patent and Trademark Office.
00007 //    
00008 //      Confidential computer software. Valid license from Compaq required for
00009 //      possession, use or copying. Consistent with FAR 12.211 and 12.212,
00010 //      Commercial Computer Software, Computer Software Documentation, and
00011 //      Technical Data for Commercial Items are licensed to the U.S. Government
00012 //      under vendors standard commercial license.
00013 //    
00014 //++
00015 //
00016 //  FACILITY:
00017 //
00018 //      OpenVMS Executive (SYS)
00019 //
00020 //  ABSTRACT:
00021 //
00022 //      This module contains constants and structure definitions for the 
00023 //      timer queue tracing utility.
00024 //
00025 //  AUTHOR:
00026 //
00027 //      Christian Moser, August 2001
00028 //
00029 //  MODIFIED BY:
00030 //
00031 //      X-1     CMOS            Christian Moser         21-AUG-2001
00032 //              Initial version.
00033 //
00034 
00035 //
00036 // Define some constants needed for both the debug and the SDA extension
00037 // image
00038 //
00039 #define TRACE_BUFFER_PAGES 128
00040 
00041 #define TQEDBG$K_REV1           1
00042 #define TQEDBG$K_REVISION       TQEDBG$K_REV1
00043 
00044 #define TQEDBG$K_INSTIMQ        1
00045 #define TQEDBG$K_RMVTIMQ        2
00046 #define TQEDBG$K_TQEFIRE        3
00047 #define TQEDBG$K_RMVTIMQREQ     4
00048 
00049 //
00050 // Define trace entry structure
00051 //
00052 typedef struct _trace_entry {
00053         uint64          timestamp;
00054         uint32          cpuid;
00055         uint32          flag;
00056         TQE             *tqe;
00057         uint32          fpc;
00058         uint64          fr3;
00059         uint64          fr4;
00060         uint32          func;
00061         uint32          mode;
00062         uint32          pid;
00063         uint32          rqtype;
00064         } TRACE_ENTRY;
00065 
00066 //
00067 // Define trace header structure
00068 //
00069 typedef struct _trace_hdr {
00070         uint32                  idx;
00071         uint32                  max_idx;
00072         unsigned short int      mbo;    
00073         unsigned char           type;   
00074         unsigned char           subtype;
00075         uint32                  scc;
00076         unsigned __int64        size;     
00077         #pragma __required_pointer_size __save  
00078         #pragma __required_pointer_size __long  
00079         TRACE_ENTRY             *entry_ptr;
00080         #pragma __required_pointer_size __restore 
00081         TRACE_ENTRY             entry[1];
00082         } TRACE_HDR;
00083 
00084 
00085 //
00086 // Define shared structure used as communications area between debug image
00087 // and SDA extension image
00088 //
00089 typedef struct _tqedbg {
00090         int                     (*start_trace)();
00091         int                     (*stop_trace)();
00092         unsigned short int      mbo;    
00093         unsigned char           type;        
00094         unsigned char           subtype;     
00095         void                    (*reserved)();
00096         unsigned __int64        size;     
00097         #pragma __required_pointer_size __save  
00098         #pragma __required_pointer_size __long
00099         TRACE_HDR               *trace_buffer;          
00100         #pragma __required_pointer_size __restore 
00101         void                    (*trace_instimq)();
00102         void                    (*trace_rmvtimq)();
00103         void                    (*trace_tqefire)();
00104         void                    (*trace_rmvtimqreq)();
00105         int                     revision;
00106         int                     trace_run;
00107         int                     tqe_flags;
00108         int                     trace_flags;
00109         int                     cpu_flags;
00110         uint32                  reserved_1;
00111         uint64                  reserved_2;
00112         uint64                  reserved_3;
00113         uint64                  reserved_4;
00114         uint64                  scc[32];
00115         uint64                  systime[32];
00116         } TQEDBG;

SourceForge.net Logo
Project space on SourceForge.net