Describe problem solved by the proposed feature
已有问题
只列当前 ISSUE 会解决的问题
Describe your preferred solution
已有提交
后续计划
对于架构本身的改进,#10320 (comment) 已经做了详细规划,在与社区的协商下,进行了一定的调整(带 MMU 的 SoC 平台)。
- 支持动态 ISA 管理
- 合并 32/64 位公共代码
- 支持统一 cache 操作
- MMU 支持到标准
- 合并 M/S 模式公共代码
- 支持 SMP
- 支持 DM
- 合并 T-HEAD Vendor 代码
- RT-Thread 支持非 0 核启动
- libcpu 目录改进
- common 实现仍然作为切入点和统一目录
- 原本的 common 改名为 legacy_common,使用原本 common 的 bsp 如果没有采用新添加的宏 RT_USING_RISCV_NEW_COMMON 就会自动使用 legacy_common,t-head 目录同理
- qemu-virt64-riscv 是第一个使用新 common 的 BSP,并在同一目录支持 RV32 和 RV64 S-mode,同时 DM 在 32位下部分数据打印截断问题也修复。
- 对于非 0 核启动问题,不再修改内核 master CPU 语义,而是 RISC-V 架构层维护 physical HART ID 与 logical CPU ID 的转换表:
- 最先启动的 HART 注册为 logical CPU0。
- 其余 HART 按平台枚举顺序映射为 CPU1、CPU2 等。
- SBI HSM、IPI、timer 和 per-CPU 中断初始化统一经过该映射。
- 后续继续在维护的 BSP,开源逐个接入新的 common,同时按照现实要求完善 common,最终没有 BSP 引用 legacy_ 时,即可删除 legacy_ 和全部 BSP 的RT_USING_RISCV_NEW_COMMON,RISC-V 架构则算重构完成。
需要维护(Sync)的 BSP
RV32
- bluetrum
- bouffalo_lab
- core-v-mcu
- hpmicro
- nuclei
- xuantie/smartl
- rv32m1_vega
- wch/riscv
- gd32/risc-v
- sparkfun-redv
- ES-PDS-ES32VF2264
RV64
- allwinner
- cvitek
- K230
- qemu-virt64-riscv
- xuantie/xiaohui(R,C系列即将支持)
- spacemit/k1
Describe possible alternatives
No response
Describe problem solved by the proposed feature
已有问题
只列当前 ISSUE 会解决的问题
Describe your preferred solution
已有提交
后续计划
对于架构本身的改进,#10320 (comment) 已经做了详细规划,在与社区的协商下,进行了一定的调整(带 MMU 的 SoC 平台)。
需要维护(Sync)的 BSP
RV32
RV64
Describe possible alternatives
No response