数字星务计算机项目任务¶
本项目基于 QEMU 上游 k230 machine,推进 RustSBI 适配、K230 外设模型补全和星务安全实验支撑。开始前请先阅读讲义中的数字星务计算机。
项目仓库:gevico/qemu-camp-2026-k230
项目方向¶
RustSBI 适配 K230¶
- 适配 K230 启动流程、内存布局和 DTB 传递。
- 在 QEMU
k230machine 下完成从 BootROM、RustSBI 到下一阶段 U-Boot / Linux 的启动验证。 - 相关适配成果期望直接贡献到 rustsbi/rustsbi。
完善 K230 外设建模¶
- 围绕 Timer、RTC、GPIO、I2C、SPI、PWM、SD/eMMC、Mailbox 等外设补充 QEMU 模型。
- 按照 Issue 认领任务,补充 MMIO、IRQ / 中断、reset 行为、trace 支持和测试用例。
- 优先实现 SDK 或系统软件会访问的寄存器与功能,从最小可用模型开始渐进完善。
面向星务安全模块的仿真支撑¶
- 构建可观测、可注入、可验证的最小安全实验场景。
- 通过 trace、QMP、GDB、QTest 等工具观察关键寄存器、事件、中断和 MMIO 访问行为。
- 支持篡改关键数据或寄存器、触发 Watchdog 超时、模拟中断风暴或丢失、存储 / 通信异常注入等实验,并验证检测、响应与恢复流程。
上游贡献要求¶
完成 K230 QEMU 相关 Issue 后,不要只停留在项目仓库 PR 或个人 fork 中。将可合入 QEMU 的改动整理为 patch series,发送到 qemu-devel@nongnu.org 和 qemu-riscv@nongnu.org 邮件列表,并根据 scripts/get_maintainer.pl 与 MAINTAINERS 抄送对应维护者和 reviewer。
提交前需要:
- 基于 QEMU 当前
master分支开发,并将改动拆分为逻辑清晰、可独立编译和验证的 patch。 - 按 QEMU 规范编写 commit message,并包含开发者本人的
Signed-off-by。 - 运行
scripts/checkpatch.pl,完成对应构建、单元测试、QTest 或集成验证。 - 使用
git format-patch/git send-email、b4或git-publish发送 patch,并持续响应 review。
RustSBI 相关适配成果应按 RustSBI 项目的贡献流程提交到其上游仓库。
考核标准¶
- 可运行代码:主要功能正确,能够在 K230 QEMU 环境中运行并完成对应方向的验证。
- 测试与验证:提供单元测试或集成测试,覆盖正常场景和必要的异常场景,保留可复现的验证日志。
- 工程质量:代码风格符合 QEMU / RustSBI 等相关项目规范,注释清晰,提交记录和 Issue / PR 进展可追踪。
- 进阶成果加分:性能优化、故障注入与恢复验证、自动化回归测试、整理 patch 并尝试向上游贡献。
交付物¶
- 可运行的代码、构建方式和环境说明。
- 测试用例、复现步骤和验证日志。
- 项目总结,以及相关 Issue、PR 或上游 patch 链接。