X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/1fe5f5eb5378a47bf0f3451762743c162e40faad..b9f4a7b7475e62dbff22da6dd768222f03889c00:/lunaix-os/includes/lunaix/trace.h?ds=sidebyside diff --git a/lunaix-os/includes/lunaix/trace.h b/lunaix-os/includes/lunaix/trace.h index 80cf5f3..4fbddd9 100644 --- a/lunaix-os/includes/lunaix/trace.h +++ b/lunaix-os/includes/lunaix/trace.h @@ -2,6 +2,7 @@ #define __LUNAIX_TRACE_H #include +#include struct ksym_entry { @@ -9,6 +10,12 @@ struct ksym_entry u32_t label_off; }; +struct trace_record +{ + ptr_t pc; + char* symbol; +}; + struct ksyms { u32_t ksym_count; @@ -27,7 +34,19 @@ trace_modksyms_init(struct boot_handoff* bhctx); struct ksym_entry* trace_sym_lookup(ptr_t pc); +int +trace_walkback(struct trace_record* tb_buffer, + ptr_t fp, + int limit, + ptr_t* last_fp); + +void +trace_printstack_of(ptr_t fp); + +void +trace_printstack_isr(const isr_param* isrm); + void -trace_walkback(ptr_t fp); +trace_printstack(); #endif /* __LUNAIX_TRACE_H */