36#define MPI_DEBUG_TRACE_BUFFER_MAX 1024
37#define MPI_DEBUG_TRACE_OB_IOMB_SIZE 128
38#define MPI_DEBUG_TRACE_IB_IOMB_SIZE 128
39#define MPI_DEBUG_TRACE_IBQ 1
40#define MPI_DEBUG_TRACE_OBQ 0
41#define MPI_DEBUG_TRACE_QNUM_ERROR 100
95#define hpDBG_ALWAYS 0x0000ffff
96#define hpDBG_IOMB 0x00000040
97#define hpDBG_REGISTERS 0x00000020
98#define hpDBG_TICK_INT 0x00000010
99#define hpDBG_SCREAM 0x00000008
100#define hpDBG_VERY_LOUD 0x00000004
101#define hpDBG_LOUD 0x00000002
102#define hpDBG_ERROR 0x00000001
103#define hpDBG_NEVER 0x00000000
105#define smTraceDestBuffer 0x00000001
106#define smTraceDestRegister 0x00000002
107#define smTraceDestDebugger 0x00000004
110#define siTraceDestMask (smTraceDestBuffer | \
111 smTraceDestRegister | \
117#define hpDBG_TraceBufferWrapAround 0x80000000
122#define hpDBG_TraceBufferUseTimeStamp 0x40000000
127#define hpDBG_TraceBufferUseSequenceStamp 0x20000000
130#define fiTraceSmChip 'C'
131#define fiTraceSmPort 'P'
132#define fiTraceSmLogin 'L'
133#define fiTraceSmXchg 'X'
134#define fiTraceSmFabr 'F'
135#define fiTraceDiscFab 'D'
136#define fiTraceDiscLoop 'M'
137#define fiTraceFc2 'A'
138#define fiTraceTgtState 'S'
139#define fiTraceIniState 'I'
142#define fiSfsFreeList 'Z'
143#define fiSestFreeList 'W'
144#define fiOsSfsFreeList 'G'
145#define fiLgnFreeList 'K'
146#define fiPortalFreeList 'l'
147#define fiBusyList 'N'
148#define fiOsSfsAllocList 'B'
149#define fiTimerList 'V'
150#define fiSfsWaitForRspList 'I'
151#define fiLgnBusyList 'J'
152#define fiPortalBusyList 'g'
153#define fiWait4ErqList 'o'
154#define fiXchgAbortList 'U'
155#define fiXchgWaitList 'b'
158#define fiSfsDeferFreeList 'q'
159#define fiDeferBusyList 'm'
160#define fiInvalidList 'X'
161#define fiInvalidatedList 'a'
162#define fiTmpXchList 'n'
164#define TMP_TRACE_BUFF_SIZE 32
165#define FC_TRACE_LINE_SIZE 70
176#ifdef SA_ENABLE_TRACE_FUNCTIONS
183GLOBAL void siTraceFuncExit(
agsaRoot_t *agRoot,
bit32 mask,
char fileid,
char * funcid,
char exitId );
193#define smTraceState(L,S,C,T) siTraceState(agRoot,L,S,C,T)
194#define smTraceChipState(L,C,T) siTraceState(agRoot,L,fiTraceSmChip,C,T)
195#define smTraceFabricState(L,C,T) siTraceState(agRoot,L,fiTraceSmFabr,C,T)
196#define smTracePortState(L,C,T) siTraceState(agRoot,L,fiTraceSmPort,C,T)
197#define smTraceLoginState(L,C,T) siTraceState(agRoot,L,fiTraceSmLogin,C,T)
198#define smTraceXchgState(L,C,T) siTraceState(agRoot,L,fiTraceSmXchg,C,T)
199#define smTraceDiscFabState(L,C,T) siTraceState(agRoot,L,fiTraceDiscFab,C,T)
200#define smTraceDiscLoopState(L,C,T) siTraceState(agRoot,L,fiTraceDiscLoop,C,T)
201#define smTraceFc2State(L,C,T) siTraceState(agRoot,L,fiTraceFc2,C,T)
202#define smTraceScsiTgtState(L,C,T) siTraceState(agRoot,L,fiTraceTgtState,C,T)
203#define smTraceScsiIniState(L,C,T) siTraceState(agRoot,L,fiTraceIniState,C,T)
205#define smResetTraceBuffer(L) siResetTraceBuffer(L)
206#define smTraceFuncEnter(L,I) siTraceFuncEnter(agRoot,L,siTraceFileID,I)
207#define smTraceFuncExit(L,S,I) siTraceFuncExit(agRoot,L,siTraceFileID,I,S)
208#define smGetCurrentTraceIndex(L) siGetCurrentTraceIndex(L)
209#define smTraceListRemove(R,L,I,V) siTraceListRemove(R,L,I,V)
210#define smTraceListAdd(R,L,I,V) siTraceListAdd(R,L,I,V)
212#define smTrace(L,I,V) \
215 if (sizeof(V) == 8) {siTrace64(agRoot,L,I,(bit64)V,64);} \
216 else {siTrace(agRoot,L,I,(bit32)V,32);} \
223#define siTraceState(agRoot,L,fiTraceSmXchg,C,T)
225#define smTraceState(L,S,C,T)
226#define smTraceChipState(L,C,T)
227#define smTraceFabricState(L,C,T)
228#define smTracePortState(L,C,T)
229#define smTraceLoginState(L,C,T)
230#define smTraceXchgState(L,C,T)
231#define smTraceDiscFabState(L,C,T)
232#define smTraceDiscLoopState(L,C,T)
233#define smTraceFc2State(L,C,T)
234#define smTraceScsiTgtState(L,C,T)
235#define smTraceScsiIniState(L,C,T)
237#define smResetTraceBuffer(agRoot)
238#define smTraceFuncEnter(L,I)
239#define smTraceFuncExit(L,S,I)
240#define smGetCurrentTraceIndex(L)
241#define smTraceListRemove(L,I,V)
242#define smTraceListAdd(L,I,V)
244#define smTrace(L,I,V)
262#ifdef SA_ENABLE_TRACE_FUNCTIONS
266#define smTraceGetInfo(R,P) siTraceGetInfo(R,P)
268#define smTraceGetInfo(R,P)
273#ifdef SA_ENABLE_TRACE_FUNCTIONS
277#define smTraceSetMask(R,P) siTraceSetMask(R,P)
279#define smTraceSetMask(R,P)
#define MPI_DEBUG_TRACE_BUFFER_MAX
#define siTraceState(agRoot, L, fiTraceSmXchg, C, T)
struct mpiObDebugTraceEntry_s mpiDebugObTraceEntry_t
void siEnableTracing(agsaRoot_t *agRoot)
void mpiTraceAdd(bit32 q, bit32 pici, bit32 ib, void *iomb, bit32 numBytes)
struct mpiIbDebugTraceEntry_s mpiDebugIbTraceEntry_t
struct mpiObDebugTrace_s mpiDebugObTrace_t
struct mpiIbDebugTrace_s mpiDebugIbTrace_t
#define MPI_DEBUG_TRACE_IB_IOMB_SIZE
#define MPI_DEBUG_TRACE_OB_IOMB_SIZE
data structure stores OS specific and LL specific context
bit32 * pTraceIndexWrapCount
bit32 CurrentTraceIndexWrapCount
bit32 * pCurrentTraceIndex
bit32 Iomb[MPI_DEBUG_TRACE_IB_IOMB_SIZE/4]
mpiDebugIbTraceEntry_t Data[MPI_DEBUG_TRACE_BUFFER_MAX]
bit32 Iomb[MPI_DEBUG_TRACE_OB_IOMB_SIZE/4]
mpiDebugObTraceEntry_t Data[MPI_DEBUG_TRACE_BUFFER_MAX]