【发布时间】:2016-06-05 07:02:18
【问题描述】:
我们希望将 Linux 移植到 FPGA 上的单核 RISCV 处理器。同时,Linux 内核将通过 LLVM pass 检测。
我的疑问是: 1. riscv-llvm 工具链是否可以用来编译Linux内核? 2. riscv-llvm 工具链现在是否支持添加自定义pass?
【问题讨论】:
-
最新版本的 Linux 内核可能可以由 llvm 构建(有项目 llvm.linuxfoundation.org 启用此功能;某些模块/选项前一段时间无法编译)。您的项目中使用的 linux 内核和 llvm 的版本是什么?您可以将自定义通行证添加到任何 llvm,并且有用于 riscv 的 llvm 的源代码。
-
我们要使用 Linux kernel-2.6.33。我是编译 linux 内核的完整初学者。你能给我一些关于这个过程的教程或建议吗?
-
Rambo,是否有适用于 RISC-V 的 linux 内核 2.6.33?我认为只有版本 github.com/riscv/riscv-linux 不是 2.6 而是 3.14 / 4.1。你不能只编译那个旧内核;需要移植到 RISC-V,这不是初学者的任务。
-
为什么是 2.6.33?它甚至不是 LTS(2.6.32 直到 2016 年 2 月),它已经 6 岁了。
-
非常感谢您的友好回复。一开始,我们想在FPGA上实现我的基于RISCV处理器的设计。现在,我们决定基于 gem5 模拟器来做。我有硬件背景(VLSI 设计)。现在,我想实现一个计算机架构项目(包括操作系统、模拟器、编译器......)。所以我必须面对很多挑战。我最初的实验使用的是 Linux kernel-2.6.33,所以我选择了它。听说是如何用 LLVM 编译 Linux 内核,并编写一个 pass 来生成间接跳转/调用指令的目标地址。