rustsbi-k210 icon indicating copy to clipboard operation
rustsbi-k210 copied to clipboard

Kendryte K210 SBI support using RustSBI, provides privileged spec 1.12 environment by emulating it using 1.9.1

Results 5 rustsbi-k210 issues
Sort by recently updated
recently updated
newest added

Does it make sense to rebase rustsbi-k210 to the "regular" rustsbi?

➜ rustsbi-k210 ls /dev/ttyUSB0 /dev/ttyUSB0 ➜ rustsbi-k210 cargo k210 Finished dev [unoptimized + debuginfo] target(s) in 0.01s Running `target/debug/xtask k210` xtask: no serial port found; program exit

Due to the hardware limit of Kendryte k210 chip(it is okay on qemu), when we want to load a 64-bit value in to a general-purpose register(using ``ld`` instruction), we have...

看了源码,发现 xtask size 没实现出来 这个 offset 一定得是 0x2000 吗? 0x2000是怎么计算出来的? 我不会写rust,只会看,不然就直接提PR了hhh 另外,大佬再写一个 指定内核project目录,直接生成需要烧写的bin文件咯。(如果内核编译环境 和 烧录环境不是同一个环境,就还要手动合并一次)

## 非法访问M模式寄存器时,RustSBI不能输出报错信息 ### 背景&预期 处于S/U模式的程序,是不能直接访问M模式寄存器的。SBI应该在非法访问时,提供报错信息。 0.0.1版本的k210支持包已经实现了该功能。但是在0.0.2版本的支持包里,这个功能消失了。 ### 复现步骤 1.使用RustSBI支持包(bin)作为程序的bootloader 2.在程序的入口点直接访问M模式的寄存器 (可以直接在uCoreRV64的代码上改) ` csrr a5, mstatus ` 3.打包k210支持包和自己的程序,烧录到k210 4.如果是 [这个支持包(0.1.0)](https://github.com/NKU-EmbeddedSystem/riscv64-ucore/blob/k210-lab0/lab0/tools/rustsbi-k210.bin),会输出以下报错信息: ![~I~CB3LKU `(KFD5INA369O](https://user-images.githubusercontent.com/45969257/163680092-23bf1db7-178e-474b-9d84-4a8911229b04.png) 5.如果是0.0.1/0.0.2版本的支持包,则**没有**报错信息,程序也会卡住。 ![MFQ_@3~MX7}T(CP7D_G~GPQ](https://user-images.githubusercontent.com/45969257/163680101-3e54691b-408c-40f9-8afa-86e8e473d3a6.png) 麻烦洛佳大佬有时间看看,感谢