Changes in kernel/arch/arm32/src/debug/stacktrace.c [e314a12:afd0106] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/arm32/src/debug/stacktrace.c
re314a12 rafd0106 35 35 #include <stacktrace.h> 36 36 #include <syscall/copy.h> 37 #include <arch/types.h> 37 38 #include <typedefs.h> 38 39 … … 40 41 #define FRAME_OFFSET_RA -1 41 42 42 bool kernel_ stack_trace_context_validate(stack_trace_context_t *ctx)43 bool kernel_frame_pointer_validate(uintptr_t fp) 43 44 { 44 return ctx->fp != 0;45 return fp != 0; 45 46 } 46 47 47 bool kernel_frame_pointer_prev( stack_trace_context_t *ctx, uintptr_t *prev)48 bool kernel_frame_pointer_prev(uintptr_t fp, uintptr_t *prev) 48 49 { 49 uint32_t *stack = (void *) ctx->fp;50 uint32_t *stack = (void *) fp; 50 51 51 52 *prev = stack[FRAME_OFFSET_FP_PREV]; … … 53 54 } 54 55 55 bool kernel_return_address_get( stack_trace_context_t *ctx, uintptr_t *ra)56 bool kernel_return_address_get(uintptr_t fp, uintptr_t *ra) 56 57 { 57 uint32_t *stack = (void *) ctx->fp;58 uint32_t *stack = (void *) fp; 58 59 59 60 *ra = stack[FRAME_OFFSET_RA]; … … 61 62 } 62 63 63 bool uspace_ stack_trace_context_validate(stack_trace_context_t *ctx)64 bool uspace_frame_pointer_validate(uintptr_t fp) 64 65 { 65 return ctx->fp != 0;66 return fp != 0; 66 67 } 67 68 68 bool uspace_frame_pointer_prev( stack_trace_context_t *ctx, uintptr_t *prev)69 bool uspace_frame_pointer_prev(uintptr_t fp, uintptr_t *prev) 69 70 { 70 71 return !copy_from_uspace((void *) prev, 71 (uint32_t *) ctx->fp + FRAME_OFFSET_FP_PREV, sizeof(*prev));72 (uint32_t *) fp + FRAME_OFFSET_FP_PREV, sizeof(*prev)); 72 73 } 73 74 74 bool uspace_return_address_get( stack_trace_context_t *ctx, uintptr_t *ra)75 bool uspace_return_address_get(uintptr_t fp, uintptr_t *ra) 75 76 { 76 return !copy_from_uspace((void *) ra, 77 (uint32_t *) ctx->fp + FRAME_OFFSET_RA,sizeof(*ra));77 return !copy_from_uspace((void *) ra, (uint32_t *) fp + FRAME_OFFSET_RA, 78 sizeof(*ra)); 78 79 } 79 80
Note:
See TracChangeset
for help on using the changeset viewer.