GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > TRC / V0-0-0
Constituent: trc     Tag: sun-gcc
#include <string.h>
#include "CPU_DB/CPU_DB_pubdefs.h"
#include "PBS/CACHE.h"
#include "PBS/PTS.h"
#include "PBS/RW.ih"
#include "MDB/MDB_pubdefs.h"
#include "TRC/TRC_msgs.h"
#include "TRC_prvrtos.h"
Include dependency graph for TRC_trace.c:
Functions | |
unsigned int | TRC_record (unsigned int fui, TRC_TraceUser *dat) |
Insert a record in the task trace. | |
Variables | |
TRC_TraceUser | traceDefault |
Default trace user block if user does not supply one. |
CVS $Id: TRC_trace.c,v 1.1.1.1 2006/12/20 00:44:59 apw Exp $
|
Insert a record in the task trace.
A trace buffer row is data cache line aligned and one cache line long (i.e. it's 32 bytes). The first 3 longwords are owned by TRC and are used to capture a timestamp, the watchdog timeout, plus some assorted meta-information. The last 5 longwords are open to the caller of this routine. The trace will capture the 20 bytes pointed to by dat. To distingish different record types, the user must supply a record id. While While identified as an unsigned int, it's really a short with a "facility" number encoded in the most significant byte of the short and an "instance" encoded in the least significant byte of the short. Example: when recording entrancies and exits of exception handlers, the "facility" is (a small integer representing) "exception" and the instances are (small integers representing) "entrance" and "exit". |