-
Notifications
You must be signed in to change notification settings - Fork 9
添加其他平台的编译支持 #4
base: main
Are you sure you want to change the base?
添加其他平台的编译支持 #4
Conversation
在 x86 上跑测试的意义是啥?测试应该要看能否在 rv 上用吧 我不清楚其他平台提供一个 @YdrMaster 看看? |
有一些平台无关的模块需要编写单元测试,但是RISC-V还不支持标准库,所以在编译平台上运行是一个比较好的选择。 |
不理解,这个项目哪有平台无关模块…… 这个项目的定位就是 rv 上低于 machine 的特权态调用 sbi 的简单封装,避免反复写汇编;另外提供 而且 |
只是从易用性上考虑。如果不加编译支持的话,所有添加了这个项目的crate就都运行不了单元测试了;或者说要把测试代码单独分到其他地方。这样增加复杂性从该项目的使用者的角度来说感觉不太方便。 |
所以是依赖这个项目的其他项目的问题,那为什么不考虑在调用处设置 试试用这个依赖: [target.'cfg(any(target_arch = "riscv32", target_arch = "riscv64"))'.dependencies] |
@@ -28,7 +28,7 @@ default = [] | |||
# Implement sbi-rt traits for integer types | |||
# By using this feature, parameter types of sbi-rt functions fall back to integers, | |||
# static type checks are disabled so this library won't detect parameters in incorrect orders. | |||
# Although some people may find it userul in prototyping sbi-rt implementations, | |||
# Although some people may find it useful in prototyping sbi-rt implementations, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
有道理,可以单独改一下
也不是说所有crate都能跨平台编译吧,至少我在
我也在考虑如此操作,不过最终还是避免不了在代码里设置大量的 |
我们讨论了一下,对这个修改的意见基本上是负面的。不过作为参考,也许可以试试这些方案:
BTY,以下是我的个人观点:
|
好的,我暂时先采用第三种方案了,之后如果有新的想法会继续在这里发布。感谢review。 |
cb56b4b
to
4a90a5f
Compare
@js2xxx 您好:由于本项目已经被合并到rustsbi/rustsbi仓库统一管理,若后续有贡献计划,请移交到rustsbi/rustsbi仓库。谢谢您的理解! |
这样可以使得添加了该项目的crates在编译平台(比如x86)上运行不依赖SBI的单元测试,而不需要额外编写其他代码。