Lines Matching refs:LR

26 void backtrace_handle(char *PC, int *SP, char *LR, int (*print_func)(const char *fmt, ...));
64 void getPLSfromCtx(void *context, char **PC, char **LR, int **SP) in getPLSfromCtx() argument
74 *LR = (char *)ptr[14]; in getPLSfromCtx()
78 *LR = (char *)ptr[30]; in getPLSfromCtx()
84 static int backtraceFindLROffset(char *LR, in backtraceFindLROffset() argument
90 LR = BT_PC2ADDR(LR); in backtraceFindLROffset()
93 if (((int)LR & 0xffffffe0) == 0xffffffe0) { in backtraceFindLROffset()
101 if (LR == BT_PC2ADDR(&krhino_task_deathbed)) { in backtraceFindLROffset()
109 if (alios_debug_pc_check(LR) != 0) { in backtraceFindLROffset()
111 print_func("backtrace : invalid pc : 0x%x\r\n", LR); in backtraceFindLROffset()
116 ins16 = *(unsigned short *)(LR - 4); in backtraceFindLROffset()
119 k_int2str((int)LR - 4, &s_panic_call[14]); in backtraceFindLROffset()
125 k_int2str((int)LR - 2, &s_panic_call[14]); in backtraceFindLROffset()
142 char *LR; in backtraceFromStack() local
249 LR = (char *)*(SP + framesize - offset); in backtraceFromStack()
250 offset = backtraceFindLROffset(LR, print_func); in backtraceFromStack()
255 *pPC = LR - offset; in backtraceFromStack()
264 static int backtraceFromLR(int **pSP, char **pPC, char *LR, in backtraceFromLR() argument
276 printf("[backtraceFromLR in ] SP = %p, PC = %p, LR = %p\n\r", *pSP, *pPC, LR); in backtraceFromLR()
279 offset = backtraceFindLROffset(LR, print_func); in backtraceFromLR()
283 PC = LR - offset; in backtraceFromLR()
339 offset = backtraceFindLROffset(LR, print_func); in backtraceFromLR()
344 *pPC = LR - offset; in backtraceFromLR()
390 char *LR; in backtrace_task() local
401 getPLSfromCtx(((ktask_t *)task)->task_stack, &PC, &LR, &SP); in backtrace_task()
404 printf("[backtrace_task] SP = %p, PC = %p, LR = %p\r\n", SP, PC, LR); in backtrace_task()
418 backtrace_handle(PC, SP, LR, print_func); in backtrace_task()
479 int backtrace_callee(char *PC, int *SP, char *LR, in backtrace_callee() argument
500 bt_lr = LR; in backtrace_callee()
562 void backtrace_handle(char *PC, int *SP, char *LR, in backtrace_handle() argument
574 } else if (backtrace_callee(PC, SP, LR, print_func) > 0) { in backtrace_handle()
580 backtrace_caller(LR, SP, print_func); in backtrace_handle()