在Rocket Chip仿真器上引导Linux内核

时间:2017-03-27 21:32:14

标签: linux-kernel boot riscv chisel rocket-chip

我尝试使用 DefaultConfig 配置在生成的Rocket Chip模拟器中启动Linux内核。

我按照RISCV tools repository wiki中显示的步骤操作,并且我已经能够在ISA模拟器上成功构建和启动Linux内核 spike by:

  • 编译riscv64-unknown-linux-gcc交叉编译器。
  • 构建Linux内核4.6(riscv-linux repository中的RISC-V风格)
  • 重建bbl引导加载程序,将其指向构建的vmlinux图像(--with-payload选项)。

然而,当尝试在默认配置文件生成的Rocket Chip模拟器中运行这个非常相同的bbl引导加载程序时,内核不会启动但是进程一直在旋转,好像它被卡在一个无限循环。没有提供信息性消息或错误,它只消耗100%的CPU,直到Ctrl-C击键被杀死(等待相当长的时间后)。

我相信我生成的Rocket Chip模拟器是正确的,因为我能够通过代理内核 pk )甚至裸机运行交叉编译的程序而没有任何问题。此外,所有测试和基准都通过了(make run-asm-testsmake run-bmark-tests)。

我还没有找到任何有关在芯片仿真器中启动内核的人的明确文档(大多数都使用FPGA),此时我怀疑它是否有可能。

有没有人能够在模拟器中实现它?我错过了任何一步吗?任何提示都表示赞赏。

0 个答案:

没有答案