()
| 22 | } |
| 23 | |
| 24 | unsafe fn backtrace() { |
| 25 | let mut fp: usize; |
| 26 | let stop = current_kstack_top(); |
| 27 | asm!("mv {}, s0", out(reg) fp); |
| 28 | println!("---START BACKTRACE---"); |
| 29 | for i in 0..10 { |
| 30 | if fp == stop { |
| 31 | break; |
| 32 | } |
| 33 | println!("#{}:ra={:#x}", i, *((fp - 8) as *const usize)); |
| 34 | fp = *((fp - 16) as *const usize); |
| 35 | } |
| 36 | println!("---END BACKTRACE---"); |
| 37 | } |
no test coverage detected