libsys: remove unused stacktrace variant
This commit is contained in:
parent
be87fdda3d
commit
49aed1ad97
2 changed files with 16 additions and 53 deletions
|
@ -56,8 +56,6 @@ int tsc_calibrate(void);
|
||||||
u32_t sys_hz(void);
|
u32_t sys_hz(void);
|
||||||
double getidle(void);
|
double getidle(void);
|
||||||
void util_stacktrace(void);
|
void util_stacktrace(void);
|
||||||
void util_nstrcat(char *str, unsigned long n);
|
|
||||||
void util_stacktrace_strcat(char *);
|
|
||||||
int micro_delay(u32_t micros);
|
int micro_delay(u32_t micros);
|
||||||
u32_t tsc_64_to_micros(u64_t tsc);
|
u32_t tsc_64_to_micros(u64_t tsc);
|
||||||
u32_t tsc_to_micros(u32_t low, u32_t high);
|
u32_t tsc_to_micros(u32_t low, u32_t high);
|
||||||
|
|
|
@ -11,62 +11,27 @@ Copyright 1995 Philip Homburg
|
||||||
|
|
||||||
typedef unsigned int reg_t;
|
typedef unsigned int reg_t;
|
||||||
|
|
||||||
#define FUNC_STACKTRACE(statement) \
|
extern reg_t get_bp(void);
|
||||||
{ \
|
|
||||||
reg_t bp, pc, hbp; \
|
|
||||||
extern reg_t get_bp(void); \
|
|
||||||
\
|
|
||||||
bp= get_bp(); \
|
|
||||||
while(bp) \
|
|
||||||
{ \
|
|
||||||
pc= ((reg_t *)bp)[1]; \
|
|
||||||
hbp= ((reg_t *)bp)[0]; \
|
|
||||||
statement; \
|
|
||||||
if (hbp != 0 && hbp <= bp) \
|
|
||||||
{ \
|
|
||||||
pc = -1; \
|
|
||||||
statement; \
|
|
||||||
break; \
|
|
||||||
} \
|
|
||||||
bp= hbp; \
|
|
||||||
} \
|
|
||||||
}
|
|
||||||
|
|
||||||
void util_nstrcat(char *str, unsigned long number)
|
|
||||||
{
|
|
||||||
#if USE_SYSDEBUG
|
|
||||||
int n = 10, lead = 1;
|
|
||||||
char nbuf[12], *p;
|
|
||||||
p = nbuf;
|
|
||||||
*p++ = '0';
|
|
||||||
*p++ = 'x';
|
|
||||||
for(n = 0; n < 8; n++) {
|
|
||||||
int i;
|
|
||||||
i = (number >> ((7-n)*4)) & 0xF;
|
|
||||||
if(!lead || i) {
|
|
||||||
*p++ = i < 10 ? '0' + i : 'a' + i - 10;
|
|
||||||
lead = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(lead) *p++ = '0';
|
|
||||||
*p++ = ' ';
|
|
||||||
*p++ = '\0';
|
|
||||||
strcat(str, nbuf);
|
|
||||||
#endif /* USE_SYSDEBUG */
|
|
||||||
}
|
|
||||||
|
|
||||||
void util_stacktrace(void)
|
void util_stacktrace(void)
|
||||||
{
|
{
|
||||||
#if USE_SYSDEBUG
|
#if USE_SYSDEBUG
|
||||||
FUNC_STACKTRACE(printf("0x%lx ", (unsigned long) pc));
|
reg_t bp, pc, hbp;
|
||||||
|
|
||||||
|
bp= get_bp();
|
||||||
|
while(bp)
|
||||||
|
{
|
||||||
|
pc= ((reg_t *)bp)[1];
|
||||||
|
hbp= ((reg_t *)bp)[0];
|
||||||
|
printf("0x%lx ", (unsigned long) pc);
|
||||||
|
if (hbp != 0 && hbp <= bp)
|
||||||
|
{
|
||||||
|
printf("0x%lx ", (unsigned long) -1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
bp= hbp;
|
||||||
|
}
|
||||||
printf("\n");
|
printf("\n");
|
||||||
#endif /* USE_SYSDEBUG */
|
#endif /* USE_SYSDEBUG */
|
||||||
}
|
}
|
||||||
|
|
||||||
void util_stacktrace_strcat(char *str)
|
|
||||||
{
|
|
||||||
#if USE_SYSDEBUG
|
|
||||||
FUNC_STACKTRACE(util_nstrcat(str, pc));
|
|
||||||
#endif /* USE_SYSDEBUG */
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue