Lines Matching refs:fp
23 rt_inline rt_err_t _bt_kaddr(rt_ubase_t *fp, struct rt_hw_backtrace_frame *frame) in _bt_kaddr() argument
26 frame->fp = *(fp - 2); in _bt_kaddr()
27 frame->pc = *(fp - 1); in _bt_kaddr()
29 if ((rt_ubase_t)fp == frame->fp) in _bt_kaddr()
44 rt_inline rt_err_t _bt_uaddr(rt_lwp_t lwp, rt_ubase_t *fp, struct rt_hw_backtrace_frame *frame) in _bt_uaddr() argument
47 if (lwp_data_get(lwp, &frame->fp, fp - 2, WORD) != WORD) in _bt_uaddr()
51 else if (lwp_data_get(lwp, &frame->pc, fp - 1, WORD) != WORD) in _bt_uaddr()
55 else if ((rt_ubase_t)fp == frame->fp) in _bt_uaddr()
71 rt_uintptr_t *fp = (rt_uintptr_t *)frame->fp; in rt_hw_backtrace_frame_unwind() local
73 if (fp && !((long)fp & 0x7)) in rt_hw_backtrace_frame_unwind()
80 if (this_lwp == lwp && rt_hw_mmu_v2p(((rt_lwp_t)lwp)->aspace, fp) != ARCH_MAP_FAILED) in rt_hw_backtrace_frame_unwind()
82 rc = _bt_kaddr(fp, frame); in rt_hw_backtrace_frame_unwind()
84 else if (lwp_user_accessible_ext(lwp, (void *)fp, WORD)) in rt_hw_backtrace_frame_unwind()
86 rc = _bt_uaddr(lwp, fp, frame); in rt_hw_backtrace_frame_unwind()
95 if ((rt_kmem_v2p(fp) != ARCH_MAP_FAILED)) in rt_hw_backtrace_frame_unwind()
97 rc = _bt_kaddr(fp, frame); in rt_hw_backtrace_frame_unwind()
123 frame->fp = sframe->regs[RT_HW_SWITCH_CONTEXT_S0];; in rt_hw_backtrace_frame_get()