📄 s3cmprofile.h
字号:
/***********************************************************************//* *//* Profiling Header *//* Copyright 2002 Arcturus Networks, Inc. *//* *//***********************************************************************//* s3cprofile.h *//* * modification history * -------------------- * * 08/02/02 MaTed <mated@sympatico.ca> * - Initial version for uClinux - Samsung * - please set TABS == 4 * *///#ifdef MPROFILE // enable miniprofile#undef MPROFILE#if 0#define ProfileArraySize 2048typedef struct{ unsigned short code; void * addr; unsigned long jiffie; unsigned long counter;} PROFILE_ARRAY;#ifdef S3C2500_ETHERNETPROFILE_ARRAY profileArray[ ProfileArraySize ];UINT32 profileAddrIndex = 0;#elseextern PROFILE_ARRAY profileArray[ ProfileArraySize ];extern unsigned long profileAddrIndex;#endifextern unsigned long volatile jiffies; #define COUNTER_REG 0xf0040014 // Counter register - runs at bus speed#define enterCnt( profileCode ) \({ \ __label__ entryAddr; \entryAddr: \ profileArray[ profileAddrIndex ].code = profileCode; \ profileArray[ profileAddrIndex ].addr = && entryAddr; \ profileArray[ profileAddrIndex ].counter \ = (*((unsigned long *) 0xf0040010) -*((unsigned long *) 0xf0040014)); \ profileArray[ profileAddrIndex ].jiffie = jiffies; \ if (++profileAddrIndex >= ProfileArraySize) \ profileAddrIndex = 0; \})#define enterCntVal( profileCode, value ) \({ \ profileArray[ profileAddrIndex ].code = profileCode; \ profileArray[ profileAddrIndex ].addr = (void*) value; \ profileArray[ profileAddrIndex ].counter \ = (*((unsigned long *) 0xf0040010) -*((unsigned long *) 0xf0040014)); \ profileArray[ profileAddrIndex ].jiffie = jiffies; \ if (++profileAddrIndex >= ProfileArraySize) \ profileAddrIndex = 0; \})#else // MPROFILE#define enterCnt( profileCode)#define enterCntVal( profileCode, value)#endif // MPROFILE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -