MSI-X: Minor changes
[akaros.git] / kern / arch / riscv / kdebug.c
1 #ifdef __SHARC__
2 #pragma nosharc
3 #endif
4
5 #include <stab.h>
6 #include <string.h>
7 #include <assert.h>
8 #include <kdebug.h>
9 #include <pmap.h>
10 #include <process.h>
11
12 #include <ros/memlayout.h>
13
14 void backtrace(void)
15 {
16         void **fp;
17         asm volatile ("move %0, s0" : "=r"(fp));
18
19         for (int i = 0; ; i++) {
20                 void *pc = fp[-1], *sp = fp[-2];
21                 printk("[%d] pc %p sp %p\n", i, pc, sp);
22                 if (pc == 0 || (void**)sp < fp)
23                         break;
24                 fp = (void**)sp;
25         }
26 }
27
28 void backtrace_frame(uintptr_t pc, uintptr_t fp)
29 {
30         printk("\n\tTODO: backtrace frame on riscv\n\n");
31 }