00001 // Module TR_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 // general purpose tracing utility. 00024 // 00025 // AUTHOR: 00026 // 00027 // Christian Moser, January 2001 00028 // 00029 // MODIFIED BY: 00030 // 00031 // X-1 CMOS Christian Moser 31-JAN-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 TR$K_REV1 1 00042 #define TR$K_REVISION TR$K_REV1 00043 00044 // 00045 // Define trace entry structure 00046 // 00047 typedef struct _trace_entry { 00048 uint64 timestamp; 00049 uint32 cpuid; 00050 uint32 flag; 00051 char buffer[112]; 00052 } TRACE_ENTRY; 00053 00054 // 00055 // Define trace header structure 00056 // 00057 typedef struct _trace_hdr { 00058 uint32 idx; 00059 uint32 max_idx; 00060 unsigned short int mbo; 00061 unsigned char type; 00062 unsigned char subtype; 00063 uint32 scc; 00064 unsigned __int64 size; 00065 #pragma __required_pointer_size __save 00066 #pragma __required_pointer_size __long 00067 TRACE_ENTRY *entry_ptr; 00068 #pragma __required_pointer_size __restore 00069 TRACE_ENTRY entry[1]; 00070 } TRACE_HDR; 00071 00072 00073 // 00074 // Define shared structure used as communications area between debug image 00075 // and SDA extension image 00076 // 00077 typedef struct _dbg { 00078 void (*debug_print)(); 00079 int (*debug_reserved1)(); 00080 unsigned short int mbo; 00081 unsigned char type; 00082 unsigned char subtype; 00083 int (*debug_reserved2)(); 00084 unsigned __int64 size; 00085 int (*start_trace)(); 00086 int (*stop_trace)(); 00087 #pragma __required_pointer_size __save 00088 #pragma __required_pointer_size __long 00089 TRACE_HDR *trace_buffer; 00090 #pragma __required_pointer_size __restore 00091 int revision; 00092 int trace_run; 00093 int spl_flags; 00094 int trace_flags; 00095 int cpu_flags; 00096 uint32 reserved_1; 00097 uint64 reserved_2; 00098 uint64 reserved_3; 00099 uint64 reserved_4; 00100 uint64 scc[32]; 00101 uint64 systime[32]; 00102 } TR;