Open NozomiMizore opened 2 years ago
我想你怀疑的没错。如果我没有搞错的话Rust在最近的一段时间内稳定化了asm!() 宏。因此应该不再需要使用#![feature(asm)]来作为nightly feature来引入。这 也许是导致问题的主要原因。
我会想办法更新一下psicasbi,已确保它能够在较新的nightly rustc(或是一个 stable版本的rustc)下编译。多谢你的提醒!
感谢您的解答,之前的问题已经得到了解决。 我了解到您的团队之前改用自己研发的psicasbi是因为当时的rustsbi0.1.0不支持浮点指令,无法跑决赛的测试用例(不知道我理解的对不对),不知道现在rustsbi最新的v0.2.2是否解决了这个问题呢(或许我应该咨询洛佳同学)? ------------------ 原始邮件 ------------------ 发件人: "retrhelo/psicasbi" @.>; 发送时间: 2022年4月8日(星期五) 晚上7:22 @.>; @.**@.>; 主题: Re: [retrhelo/psicasbi] 关于编译报错的问题 (Issue #1)
我想你怀疑的没错。如果我没有搞错的话Rust在最近的一段时间内稳定化了asm!() 宏。因此应该不再需要使用#![feature(asm)]来作为nightly feature来引入。这 也许是导致问题的主要原因。
我会想办法更新一下psicasbi,已确保它能够在较新的nightly rustc(或是一个 stable版本的rustc)下编译。多谢你的提醒!
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>
我了解到您的团队之前改用自己研发的psicasbi是因为当时的rustsbi0.1.0不支持浮点指令,无法跑决赛的测试用例
SBI本身不会用到浮点指令。使用rv64imac
和rv64gc
作为目标都可以编译出可用的SBI。
我们当时选择开发PsicaSBI更多的原因是希望能解决RustSBI涉及仓库太多的问题。RustSBI为每一种运行环境都单独地维护了一个仓库(比如说rustsbi-k210、rustsbi-qemu和rustsbi-hifive-unmatched。如果未来出现了一块新的板子,那么大概还会有一个新的仓库)。说实话仓库之间大部分的代码都是一样的,这完全是在增加维护难度。所以PsicaSBI的构想是利用Rust中的语法抽象和条件编译,抽象底层硬件相关的逻辑,将各个仓库整合到一起,这是当时做这个项目的主要原因。
另一个原因是当时RustSBI加入了一些对于PMP(Physical Memory Protection)的更新(我想luojia可能是想要像是OpenSBI中的PMP的那种效果),但这些设置直接限制了我们对于内存空间的访问,使得内核完全无法启动。我不知道这个问题现在解决了没有。但也许你可以试试看RustSBI能不能顺利启动你的内核。
你好 当我使用rustc 1.61.0-nightly编译有如下报错: 个人猜测是rustc版本的问题, 但是没有搜索到相关的信息,请问作者是否知道解决方法呢?