添加loongarch支持
issue
目前项目仅仅支持risc-v,aarch64,mipsel,x86_64,我们需要添加loongarch支持 除了src/arch 下需要新建并配置相同的loongarch64外,我们还需要修改下面的文件:
- kernel/Makefile — 添加 loongarch64 架构选项、QEMU 目标、交叉编译器前缀
- kernel/build.rs — 添加 loongarch64 target 检测和 rustc-cfg
- kernel/Cargo.toml — 添加 LoongArch 依赖 crate(CSR 访问、TLB 操作等)
- kernel/src/lib.rs — 添加 #[cfg(target_arch = "loongarch64")] 条件编译
- kernel/targets/loongarch64.json — 新建 target spec 文件
- kernel/src/lkm/const_reloc/ — 添加 LoongArch ELF 重定位支持
(由claude code+claude opus4.6总结)
参考实现:
- https://gitlab.eduxiji.net/educg-group-26011-2376549/T202410699992496-312
- gitlab.eduxiji.net/educg-group-26011-2376549/T202410699992491-3136
- gitlab.eduxiji.net/educg-group-26011-2376549/T202410460992502-2319 如使用需标注来源
LoongArch上可以运行的内核模块
与OS无关且支持x64/aarch64/riscv64/loongarch64,以及星光二代开发板和龙芯2k1000的处理器抽象层Crates: PolyHAL
LoongArch架构通用文档
-
更多龙架构相关文档,可以参考龙芯开源社区,龙芯中科公司官网,龙芯在github的官方账号以及龙芯实验室为大赛设置的文档仓库
子任务
-
#2 (closed) 构建系统与 target 基础设施 -
#3 (closed) Boot 启动与早期初始化 -
#4 (closed) Trap/中断/异常处理 -
#5 内存管理与 TLB -
#6 进程上下文切换 -
#7 LoongArch ELF 重定位支持
-