Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia32/src/debug/stacktrace.c

    rdc0b964 r4290746  
    3535#include <stacktrace.h>
    3636#include <syscall/copy.h>
     37#include <arch/types.h>
    3738#include <typedefs.h>
    3839
    39 #define FRAME_OFFSET_FP_PREV  0
    40 #define FRAME_OFFSET_RA       1
     40#define FRAME_OFFSET_FP_PREV    0
     41#define FRAME_OFFSET_RA         1
    4142
    42 bool kernel_stack_trace_context_validate(stack_trace_context_t *ctx)
     43bool kernel_frame_pointer_validate(uintptr_t fp)
    4344{
    44         return ctx->fp != 0;
     45        return fp != 0;
    4546}
    4647
    47 bool kernel_frame_pointer_prev(stack_trace_context_t *ctx, uintptr_t *prev)
     48bool kernel_frame_pointer_prev(uintptr_t fp, uintptr_t *prev)
    4849{
    49         uint32_t *stack = (void *) ctx->fp;
     50        uint32_t *stack = (void *) fp;
    5051        *prev = stack[FRAME_OFFSET_FP_PREV];
    5152        return true;
    5253}
    5354
    54 bool kernel_return_address_get(stack_trace_context_t *ctx, uintptr_t *ra)
     55bool kernel_return_address_get(uintptr_t fp, uintptr_t *ra)
    5556{
    56         uint32_t *stack = (void *) ctx->fp;
     57        uint32_t *stack = (void *) fp;
    5758        *ra = stack[FRAME_OFFSET_RA];
    5859        return true;
    5960}
    6061
    61 bool uspace_stack_trace_context_validate(stack_trace_context_t *ctx)
     62bool uspace_frame_pointer_validate(uintptr_t fp)
    6263{
    63         return ctx->fp != 0;
     64        return fp != 0;
    6465}
    6566
    66 bool uspace_frame_pointer_prev(stack_trace_context_t *ctx, uintptr_t *prev)
     67bool uspace_frame_pointer_prev(uintptr_t fp, uintptr_t *prev)
    6768{
    6869        return !copy_from_uspace((void *) prev,
    69             (uint32_t *) ctx->fp + FRAME_OFFSET_FP_PREV, sizeof(*prev));
     70            (uint32_t *) fp + FRAME_OFFSET_FP_PREV, sizeof(*prev));
    7071}
    7172
    72 bool uspace_return_address_get(stack_trace_context_t *ctx, uintptr_t *ra)
     73bool uspace_return_address_get(uintptr_t fp, uintptr_t *ra)
    7374{
    74         return !copy_from_uspace((void *) ra,
    75             (uint32_t *) ctx->fp + FRAME_OFFSET_RA, sizeof(*ra));
     75        return !copy_from_uspace((void *) ra, (uint32_t *) fp + FRAME_OFFSET_RA,
     76            sizeof(*ra));
    7677}
    7778
Note: See TracChangeset for help on using the changeset viewer.