run的全都队
南大PA实验的LoongArch支持 :proj241-la-pa
所属赛道 :2024全国大学生操作系统比赛的“OS功能挑战”赛道
如果你觉得本团队的工作有参考价值😊,请不要吝惜你的⭐
对南京大学的PA实验系统进行扩展,添加LoongArch架构支持。
- loongarch作为2021年才发布的新架构,资料相对较少,LA32r作为其教育精简版这点尤为明显。
- PA实验的框架代码对LA有初步的支持,但实验讲义中无LA32r相关的架构介绍,实现难度目测比其它架构大不少。
- 团队成员相关基础较差,无人有新架构适配经验,对于完成这种横跨硬件和软件的系统性实验任务,挑战不小。
- 2024.4.20 才决定报名参赛,时间紧任务重。
- 队长有一定的体系结构的相关技术背景,项目可以一试。
- 通过PA实验构建一个简单完整的计算机系统, 来深入理解程序如何在计算机上运行。
- 通过该项目练习如何进行团队协同开发与项目管理。
- 撰写详细的实验手册,填补PA实验讲义对于loongarch架构相关的介绍空白,让往后的同学做pa实验选择LA32r作为目标架构时,上手难度能与 MIPS、RISC-V 持平。
- 2024.4.20 - 2024.5.30 完成 pa3 及 相关文档
- 2024.6.6 - 2024.7.10 完成 pa4 及 相关文档
- 2024.7.12 - 2024.7.31 完成 真机适配 及 性能调优
- 2024.7.31 - 2024.8.x 进一步完善项目及相关文档内容
分工 | 开发日志 | 联系方式 | |
---|---|---|---|
李宗逸 | 统筹规划、资料调研、架构适配 | Dev_lzy | QQ:910002662 |
刘奕钊 | 完成loongarch架构的PA实验 | Dev_lyz | QQ:1428828189 |
李智峰 | 完成loongarch架构的PA实验 | Dev_lzf | QQ:1186288906 |
- 项目管理与协作细节:涵盖本项目的所有推进细节。
-
技术文档
- 适配文档:
- loongarch32r工具配置
- 简易LA32r反汇编器: 由于llvm 不支持la32r,为了itrace中能记录汇编代码,此需求应运而生。
- qemu-system-loongarch32 difftest适配笔记
- la32-qemu bug分析报告
- 实现笔记:
- 适配文档:
-
汇报&演示
- 单步执行
- 内存扫描
- 表达式求值
- 监视点
- 基础设施
- LA32r反汇编器
- iringbuf
- mtrace
- LA32r difftest适配
- difftest
- dtrace
- ftrace
- 添加基础指令
- 简易标准库实现
- 外设支持
- 串口
- 时钟
- VGA
- 声卡
- 实现异常响应机制
- Loader 实现
- 系统调用支持
- exit
- write
- brk
- gettimeofday
- execve
- 简易文件系统
- 键盘抽象
- VGA抽象
- 实现定点数库fixedptc
- 跑通仙剑奇侠传
- 基础设施
- etrace
- strace
- 快照实现
- yield-os 实现上下文管理
- 跑通 native RT-Thread