Repository navigation
[libcpu][arm] 将 ARM 配置从公共 Kconfig 拆分至目录libcpu/arm - #11988
Conversation
|
👋 感谢您对 RT-Thread 的贡献!Thank you for your contribution to RT-Thread! 为确保代码符合 RT-Thread 的编码规范,请在你的仓库中执行以下步骤运行代码格式化工作流(如果格式化CI运行失败)。 🛠 操作步骤 | Steps
完成后,提交将自动更新至 如有问题欢迎联系我们,再次感谢您的贡献!💐 |
📌 Code Review Assignment🏷️ Tag: documentationReviewers: @CXSforHPU @GorrayLi @lianux-mm Changed Files (Click to expand)
📊 Current Review Status (Last Updated: 2026-11-05 19:53 CST)
📝 Review Instructions
|
Rbb666
left a comment
There was a problem hiding this comment.
复核提交 1a5f96d71eddcd585efa38b42f8e3ce9b04c18f1,本轮未发现配置拆分本身的阻断性问题。
使用 Kconfiglib 14.1.0,将 PR 基线与当前提交的 libcpu 配置分别代入本地 BSP 配置依赖树,对比了 frdm-k64f、qemu-vexpress-a9、rzt2m_rsk、qemu-virt64-aarch64、qemu-virt64-riscv,以及 A9/AArch64/RISC-V 的 Smart 变体,共 8 组配置。符号值、类型、可见性、可赋值范围、默认值、依赖和选择关系均一致。ARM 条目的迁移保留了条件,公共的 KERNEL_VADDR_START 也保留在原文件中。
尚有两项整理建议:
- 当前提交信息
kconfig部分搬至arm/kconfig缺少规定前缀,建议使用[libcpu][arm] 将 ARM 配置拆分至架构目录,并保持Kconfig的实际大小写。 - PR 描述仍勾选“草稿版本”,而 GitHub PR 状态不是草稿,请确认并统一实际就绪状态。
该提交目前的 CI 工作流处于 action_required,尚未执行,不能把当前没有失败的检查视为 CI 已通过。需完成 CI 核验后再合并。当前只有一个完整的功能提交,若检查通过且确认就绪,适合 rebase 合并,无需 squash。
|
拉取/合并请求描述:(PR description)
[
为什么提交这份PR (why to submit this PR)
关联 #9187。
libcpu/Kconfig 混合了 CPU 公共能力和多个架构的配置,不便于按架构维护。本 PR 先将 ARM 相关配置拆分至架构目录。
你的解决方案是什么 (what is your solution)
新增 libcpu/arm/Kconfig,将 ARM 架构标识、内核型号、ARM MMU/MPU、GIC 等相关配置搬入,并在 libcpu/Kconfig 中通过 rsource "arm/Kconfig" 引入。
公共能力和跨架构配置继续保留在原文件中,包括 KERNEL_VADDR_START。保留原有配置符号、默认值、依赖、select 关系和条件,不新增菜单,不调整其他架构配置。
新增说明文档 documentation/4.tool/scons/libcpu_kconfig_arm_split.md,记录拆分范围、依赖处理和验证结果。
请提供验证的bsp和config (provide the config and bsp)
本次拆分无需修改已有 .config。
使用 Kconfiglib 14.1.0,基于上述 BSP 已有配置,对比拆分前后的全部解析符号。配置值、类型、可见性、可赋值范围、默认值、依赖及选择关系均一致;排除文件路径和行号变化后,无新增解析警告。
额外在内存中为 Cortex-A9、AArch64 和 RISC-V 配置启用 CONFIG_RT_USING_SMART=y,并为 Cortex-A9 启用 CONFIG_RT_IOREMAP_LATE=y,对比结果一致。上述解析验证未写回配置文件。
在 bsp/qemu-virt64-riscv 目录下运行 scons --menuconfig,对比拆分前后的菜单输出,结果一致,确认该 BSP 的配置菜单未受影响。
]
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up