Gweui
Gweui
看样子你用的ustc的源缺一个bitflags 1.3的crate,可能的解决方案如下: 1. cargo换清华源(不确定清华源里面有没有1.3版本的crate 2. Cargo.toml里面把bitflags的最小版本设置低一点,比如设置成1.2.0(不保证低版本的bitflags能不能跑)
make run LOG=xxx可以通过features的方式传给rust代码里进行条件编译,也可以通过获取环境变量的方式来生成运行时分支执行。https://doc.rust-lang.org/reference/conditional-compilation.html、https://stackoverflow.com/questions/27632660/how-do-i-use-conditional-compilation-with-cfg-and-cargo。
获取调用栈只需要把x8(frame pointer)的值取出来,并且做指针回溯就行。riscv指令简介:http://www.sunnychen.top/2019/07/06/RISC-V基本指令集概述/
一般来说执行一个用户态应用程序的流程是,读取elf文件,创建新的进程页表,把elf文件里面的可执行文件段分别map到这个地址空间内的不同区域,切换页表然后设置特权等级。但是现在好像还没有文件系统,也没有类似C语言里面map的功能(后面应该会有),所以就靠链接器把用户态应用程序直接写入内核映像里,执行的时候直接跳转到这片内存区域即可
It is strange though, since I can open this file using the official caj viewer. And I do not have the access to the cvip database to re-download. Nevertheless the...