move msi-related functionality to generic isrm
[lunaix-os.git] / lunaix-os / includes / lunaix / trace.h
index 44a2da74f8b3b35cd6193b5c9dad5e71c4b4b5f8..8111a4e193d1da765c69d7d830d7ac83d928e43f 100644 (file)
@@ -2,13 +2,15 @@
 #define __LUNAIX_TRACE_H
 
 #include <lunaix/boot_generic.h>
-#include <sys/interrupts.h>
+#include <lunaix/hart_state.h>
+
+#include <sys-generic/trace_arch.h>
 
 struct ksym_entry
 {
     ptr_t pc;
-    u32_t label_off;
-};
+    char* label;
+} align(8);
 
 struct trace_record
 {
@@ -19,8 +21,7 @@ struct trace_record
 
 struct ksyms
 {
-    u32_t ksym_count;
-    u32_t ksym_label_off;
+    unsigned long ksym_count;
     struct ksym_entry syms[0];
 };
 
@@ -78,7 +79,7 @@ trace_printstack_of(ptr_t fp);
  * @param isrm
  */
 void
-trace_printstack_isr(const isr_param* isrm);
+trace_printstack_isr(const struct hart_state* hstate);
 
 /**
  * @brief Print the stack trace starting from caller's frame pointer.
@@ -87,4 +88,7 @@ trace_printstack_isr(const isr_param* isrm);
 void
 trace_printstack();
 
+void
+trace_log(const char* fmt, ...);
+
 #endif /* __LUNAIX_TRACE_H */