跳转到内容

Champollion

在 Apple 芯片上运行 riscv64 Linux 程序。rvrun 加载 ELF,逐条翻译执行,并将程序的 Linux 系统调用转发给 Mac。

Champollion 是一个用户态的 RISC-V(RV64GC)Linux 二进制翻译器。程序以普通宿主进程的身份运行: 不会启动虚拟机,也没有客户机内核;程序发起的 Linux 系统调用由翻译器处理,无法处理的则转发给宿主。

终端窗口
$ rvrun tests/fixtures/hello
hello from riscv64

🚀 快速开始

从源码构建 rvrun,并运行仓库自带的测试程序。 快速开始

🧠 翻译原理

从加载 ELF 到解码块缓存、JIT 与系统调用分发。 翻译原理

🔀 直接模式与 VM 模式

直接运行在 Mac 上,或置于 arm64 Linux 虚拟机中进行系统调用透传。 两种模式

📖 CLI 参考

rvrun 支持的每一个参数和环境变量。 CLI 参考

M5 已完成,VM 模式的达成标准也已满足:riscv64 容器镜像可以在 Mac 上运行,Alpine 与 Debian 的 根文件系统中也可以运行 apt、CPython 等程序。项目状态 列出了已经能用的部分、 实测性能,以及已知的缺口。