跳到主要内容

新 32 位 Type-1 Hypervisor 移植

项目描述

利用 RuyiSDK 的新 32 位工具链[1],和内建的新 32 位 QEMU 模拟器,完成 seL4 Hypervisor 的 rv64ilp32 ABI 的移植。

参考:

  1. PLCT 实验室与玄铁团队联合发布:RV64ILP32 产品级开源工具链和 Linux 内核
  2. 玄铁 RISC-V 新 32 位最新进展:eBPF JIT 功能开发完成,性能大幅领先!
  3. Nuttx with rv64ilp32
  4. sel4 riscv vmm

产出及评分要求

  • 实现在单核上,同时运行 sel4 RTOS 和 rv64ilp32 Linux。
  • 根据完成度和 patch 质量进行评分。
  • 由于新 32 位和传统 64 位的指令集相同,要求尽量复用 64 位的代码,在保证功能的前提下,代码越少越好。

验证平台

  • 新 32 位 QEMU 模拟器。

提交说明

  1. 提交仓库为 https://github.com/rv2036/rvspoc-P2421-seL4
  2. 请以 Pull request 的形式,将结果提交到上述仓库中。
    • 以下条件中的「PR」均指代相对应于条件 1 仓库链接的 Pull request。
  3. 在创建 PR 时,请提供用于复现移植成果的必要内容,包括但不限于:
    • 完整的源码或二进制文件 *
    • 配置文件(若有)
    • 额外的库文件(若有)
    • 额外的补丁(若有)
    • 其他对提交进行验证时所必要的内容
  4. 在创建 PR 时,请同时创建说明文件,写明用于验证移植成果的详细信息,包括但不限于:
    • 是否限定验证平台,若限定,请注明对应 OS 名称、版本和安装说明
    • 是否限定验证平台的依赖库,若限定,请注明相关信息及安装说明
    • 程序编译及安装步骤
    • 程序运行步骤
    • 程序运行结果
    • 其他对提交进行验证时所必要的信息
  5. 此题为移植类赛题
    • 针对条件 3 的第一条 * ,选手需在比赛时间截止前(即 2024 年 8 月 31 日 (AoE) 当日结束前),通过 PR 的方式完整提交所有源代码才算完成本赛题。
  6. 组委会会在收到 PR 的 24 小时内根据 PR 内容提交顺序开始验证

验收说明

  • 7 月 1 日后由 RVSPOC 组委会公布。
  • 由于赛题的开放性和软件的复杂性,赛题发布时可能存在未解释或需要修正的部分。针对未考虑到的方面,随着比赛进程的推进可能根据选手的反馈会有调整,请保持对赛事网站的关注。最终解释权归属于比赛的赛题评审委员会。

知识产权及开源协议要求

所有参赛结果要求开源,并提交至主办方指定仓库。参赛者(作者)持有作品的所有权。主办方鼓励参赛者将结果回馈贡献至 upstream。