xref: /DragonOS/docs/community/ChangeLog/V0.1.x/V0.1.9.md (revision 15b94df01adc7e8931961b9b9a89db4e7c014b64)
1e3b89831SGnoCiYeH# V0.1.9
2e3b89831SGnoCiYeH
3e3b89831SGnoCiYeH:::{note}
4e3b89831SGnoCiYeH本文作者:何懿聪 <heyicong@dragonos.org>
5e3b89831SGnoCiYeH
6e3b89831SGnoCiYeHDragonOS官方论坛:[bbs.dragonos.org.cn](https://bbs.dragonos.org.cn)
7e3b89831SGnoCiYeH
8e3b89831SGnoCiYeH2024年3月13日
9e3b89831SGnoCiYeH:::
10e3b89831SGnoCiYeH
11e3b89831SGnoCiYeH## 贡献者名单
12e3b89831SGnoCiYeH
13e3b89831SGnoCiYeHDragonOS V0.1.9版本由以下小伙伴贡献代码:
14e3b89831SGnoCiYeH
15e3b89831SGnoCiYeH- 龙进 <longjin@DragonOS.org>
16e3b89831SGnoCiYeH- 何懿聪 <heyicong@dragonos.rog>
17e3b89831SGnoCiYeH- 裕依 <68320855+yuyi2439@users.noreply.github.com>
18e3b89831SGnoCiYeH- R0ronoa <84278015+2447742618@users.noreply.github.com>
19e3b89831SGnoCiYeH- 池克俭 <39649411+Chiichen@users.noreply.github.com>
20e3b89831SGnoCiYeH- 吴宇健 <wuyujian@dragonos.org>
21e3b89831SGnoCiYeH- zhaoyao73 <zhaoyao73@users.noreply.github.com>
22e3b89831SGnoCiYeH- 胡兆朋 <105195940+MemoryShore@users.noreply.github.com>
23e3b89831SGnoCiYeH- 周瀚杰 <zhouhanjie@dragonos.org>
24e3b89831SGnoCiYeH- 栗子 <im.lechain@gmail.com>
25e3b89831SGnoCiYeH- Xshine <gshine@m.scnu.edu.cn>
26e3b89831SGnoCiYeH- Chenzx <109664121+schulice@users.noreply.github.com>
27e3b89831SGnoCiYeH- MContour <m-contour@qq.com>
28e3b89831SGnoCiYeH- Donkey Kane <109840258+xiaolin2004@users.noreply.github.com>
29e3b89831SGnoCiYeH- Luo Jia / Zhouqi Jiang <luojia@hust.edu.cn>
30e3b89831SGnoCiYeH- Wu Mianzhi <31810920+Hdksg10@users.noreply.github.com>
31e3b89831SGnoCiYeH- Xiaoye Zheng <xiaoyez@zju.edu.cn>
32e3b89831SGnoCiYeH- Plucky923 <107762234+Plucky923@users.noreply.github.com>
33*15b94df0SJomo- 许梓毫 <xuzihao@dragonos.org>
34e3b89831SGnoCiYeH
35e3b89831SGnoCiYeH## 赞助商列表
36e3b89831SGnoCiYeH
37e3b89831SGnoCiYeH- **[中国雅云](https://yacloud.net)** 雅安大数据产业园为DragonOS提供了云服务器支持。
38e3b89831SGnoCiYeH
39e3b89831SGnoCiYeH
40e3b89831SGnoCiYeH## 赞助者名单
41e3b89831SGnoCiYeH
42e3b89831SGnoCiYeH感谢以下同学的赞赏,我们将不断努力!
43e3b89831SGnoCiYeH
44e3b89831SGnoCiYeH
45e3b89831SGnoCiYeH- David Wen
46e3b89831SGnoCiYeH- 万晓兰
47e3b89831SGnoCiYeH- 龙进
48e3b89831SGnoCiYeH- 吴宇健
49e3b89831SGnoCiYeH
50e3b89831SGnoCiYeH
51e3b89831SGnoCiYeH两千元以下:
52e3b89831SGnoCiYeH
53e3b89831SGnoCiYeH- [Seele.Clover](https://github.com/seeleclover)
54e3b89831SGnoCiYeH- [FindWangHao](https://github.com/FindWangHao)
55e3b89831SGnoCiYeH- [ferchiel](https://github.com/ferchiel)
56e3b89831SGnoCiYeH- 叶锦毅
57e3b89831SGnoCiYeH- 林
58e3b89831SGnoCiYeH- Albert
59e3b89831SGnoCiYeH- [TerryLeeSCUT · GitHub](https://github.com/TerryLeeSCUT)
60e3b89831SGnoCiYeH- slientbard
61e3b89831SGnoCiYeH- 悟
62e3b89831SGnoCiYeH- 匿名热心人士
63e3b89831SGnoCiYeH
64e3b89831SGnoCiYeH## 更新内容-内核
65e3b89831SGnoCiYeH
66e3b89831SGnoCiYeH### 新特性
67e3b89831SGnoCiYeH
68e3b89831SGnoCiYeH- refactor: 重构进程管理模块 ([#380](https://github.com/DragonOS-Community/DragonOS/pull/380))
69e3b89831SGnoCiYeH- feature: 完善设备驱动模型 ([#401](https://github.com/DragonOS-Community/DragonOS/pull/401))
70e3b89831SGnoCiYeH- feature: 实现e1000e网卡驱动 ([#393](https://github.com/DragonOS-Community/DragonOS/pull/393))
71e3b89831SGnoCiYeH- feature: DragonOS虚拟化框架([#389](https://github.com/DragonOS-Community/DragonOS/pull/389))
72e3b89831SGnoCiYeH- feature: 支持syscall快速系统调用指令([#417](https://github.com/DragonOS-Community/DragonOS/pull/417))
73e3b89831SGnoCiYeH- refactor: 重写apic驱动 ([#425](https://github.com/DragonOS-Community/DragonOS/pull/425))
74e3b89831SGnoCiYeH- feature: 线程机制与futex ([#411](https://github.com/DragonOS-Community/DragonOS/pull/411))
75e3b89831SGnoCiYeH- feature: DragonStub引导DragonOS内核 ([#460](https://github.com/DragonOS-Community/DragonOS/pull/460))
76e3b89831SGnoCiYeH- feature: 实现Epoll IO多路复用机制 ([#455](https://github.com/DragonOS-Community/DragonOS/pull/455))
77e3b89831SGnoCiYeH- feature: 帧缓冲抽象以及vesafb驱动 ([#483](https://github.com/DragonOS-Community/DragonOS/pull/483))
78e3b89831SGnoCiYeH- feature: 增加early io remap的fixmap功能 ([#495](https://github.com/DragonOS-Community/DragonOS/pull/495))
79e3b89831SGnoCiYeH- feature: 实现内核日志系统 ([#489](https://github.com/DragonOS-Community/DragonOS/pull/489))
80e3b89831SGnoCiYeH- refactor: 使用Rust重写x86_64下内核初始化代码([#507](https://github.com/DragonOS-Community/DragonOS/pull/507))
81e3b89831SGnoCiYeH- feature: 新增riscv64架构的内存管理等([#506](https://github.com/DragonOS-Community/DragonOS/pull/506))
82e3b89831SGnoCiYeH- refactor: 中断管理模块重构完成([#554](https://github.com/DragonOS-Community/DragonOS/pull/554))
83e3b89831SGnoCiYeH- refactor: 重构tty模块,实现unix兼容tty([#577](https://github.com/DragonOS-Community/DragonOS/pull/577))
84e3b89831SGnoCiYeH- featurn: 实现若干POSIX标准系统调用
85e3b89831SGnoCiYeH
86e3b89831SGnoCiYeH### bugfix
87e3b89831SGnoCiYeH
88e3b89831SGnoCiYeH- bugfix: 修正由于init proc union导致的无法运行的问题 && 修正由于内核线程启动后默认sleep的行为导致init进程无法正常运行的bug ([#381](https://github.com/DragonOS-Community/DragonOS/pull/381))
89e3b89831SGnoCiYeH- bugfix: 修复了Flusher Drop的时候没有自动刷新TLB的bug([#384](https://github.com/DragonOS-Community/DragonOS/pull/384))
90e3b89831SGnoCiYeH- bugfix: multiboot2启动的信息因为没及时转存导致后面无法从其中进行查询的bug ([#405](https://github.com/DragonOS-Community/DragonOS/pull/405))
91e3b89831SGnoCiYeH- bugfix: 修复bus/device manager对卸载逻辑的处理错误 ([#385](https://github.com/DragonOS-Community/DragonOS/pull/385))
92e3b89831SGnoCiYeH- bugfix: 解决waitqueue sleep的时候,由于preempt count不为0,导致sched失败,从而导致该waitqueue下一次wakeup时,会把pcb多次加入调度队列的bug ([#419](https://github.com/DragonOS-Community/DragonOS/pull/419))
93e3b89831SGnoCiYeH- bugfix: 修正fork的时候没有正确拷贝vm holes的bug ([#433](https://github.com/DragonOS-Community/DragonOS/pull/433))
94e3b89831SGnoCiYeH- bugfix: 当物理机具有多个memory area的时候,无法正确使用这些区域的问题.以及在内核代码处出现内存空洞而导致无法正常运行的问题. ([#448](https://github.com/DragonOS-Community/DragonOS/pull/448))
95e3b89831SGnoCiYeH- bugfix: 修复因rsdp v1 v2版本问题,导致ACPI无法正常初始化的bug ([#454](https://github.com/DragonOS-Community/DragonOS/pull/454))
96e3b89831SGnoCiYeH- bugfix: 修正由于bus的driver、device强弱引用关系 不正确从而导致对象被释放的bug ([#483](https://github.com/DragonOS-Community/DragonOS/pull/483))
97e3b89831SGnoCiYeH- bugfix: 修复文件关闭后epoll还持有对应描述符的文件弱引用的bug ([#455](https://github.com/DragonOS-Community/DragonOS/pull/455))
98e3b89831SGnoCiYeH- bugfix: 修复无法sleep的问题以及进程处于block(true)状态时无法被信号唤醒&唤醒后不处理信号的问题 ([#470](https://github.com/DragonOS-Community/DragonOS/pull/470))
99e3b89831SGnoCiYeH
100e3b89831SGnoCiYeH## 更新内容-用户环境
101e3b89831SGnoCiYeH
102e3b89831SGnoCiYeH### 新特性
103e3b89831SGnoCiYeH
104e3b89831SGnoCiYeH- feature: 新增init程序dragonreach ([#391](https://github.com/DragonOS-Community/DragonOS/pull/391))
105e3b89831SGnoCiYeH- featurn: 新增shell程序NovaShell ([#456](https://github.com/DragonOS-Community/DragonOS/pull/456))
106e3b89831SGnoCiYeH- featurn: 新增文本编辑器Held ([#583](https://github.com/DragonOS-Community/DragonOS/pull/583))
107e3b89831SGnoCiYeH- featurn: 能够支持gcc,tar,redis等程序运行
108e3b89831SGnoCiYeH
109e3b89831SGnoCiYeH## 源码、发布版镜像下载
110e3b89831SGnoCiYeH
111e3b89831SGnoCiYeH&emsp;&emsp;您可以通过以下方式获得源代码:
112e3b89831SGnoCiYeH
113e3b89831SGnoCiYeH### 通过Git获取
114e3b89831SGnoCiYeH
115e3b89831SGnoCiYeH- 您可以访问[https://github.com/DragonOS-Community/DragonOS/releases](https://github.com/DragonOS-Community/DragonOS/releases)下载发布版的代码,以及编译好的,可运行的磁盘镜像。
116e3b89831SGnoCiYeH
117e3b89831SGnoCiYeH### 通过DragonOS软件镜像站获取
118e3b89831SGnoCiYeH
119e3b89831SGnoCiYeH&emsp;&emsp;为解决国内访问GitHub慢、不稳定的问题,同时为了方便开发者们下载DragonOS的每个版本的代码,我们特意搭建了镜像站,您可以通过以下地址访问镜像站:
120e3b89831SGnoCiYeH
121e3b89831SGnoCiYeH&emsp;&emsp;您可以通过镜像站获取到DragonOS的代码压缩包,以及编译好的可运行的磁盘镜像。
122e3b89831SGnoCiYeH
123e3b89831SGnoCiYeH- [https://mirrors.DragonOS.org.cn](https://mirrors.DragonOS.org.cn)
124e3b89831SGnoCiYeH- [https://git.mirrors.DragonOS.org.cn](https://git.mirrors.DragonOS.org.cn)
125e3b89831SGnoCiYeH
126e3b89831SGnoCiYeH## 开放源代码声明
127e3b89831SGnoCiYeH
128e3b89831SGnoCiYeH:::{note}
129e3b89831SGnoCiYeH为促进DragonOS项目的健康发展,DragonOS以GPLv2开源协议进行发布。所有能获得到DragonOS源代码以及相应的软件制品(包括但不限于二进制副本、文档)的人,都能享有我们通过GPLv2协议授予您的权利,同时您也需要遵守协议中规定的义务。
130e3b89831SGnoCiYeH
131e3b89831SGnoCiYeH这是一个相当严格的,保护开源软件健康发展,不被侵占的协议。
132e3b89831SGnoCiYeH
133e3b89831SGnoCiYeH对于大部分的善意的人们而言,您不会违反我们的开源协议。
134e3b89831SGnoCiYeH
135e3b89831SGnoCiYeH我们鼓励DragonOS的自由传播、推广,但是请确保所有行为没有侵犯他人的合法权益,也没有违反GPLv2协议。
136e3b89831SGnoCiYeH
137e3b89831SGnoCiYeH请特别注意,对于违反开源协议的,尤其是**商业闭源使用以及任何剽窃、学术不端行为将会受到严肃的追责**。(这是最容易违反我们的开源协议的场景)。
138e3b89831SGnoCiYeH
139e3b89831SGnoCiYeH并且,请注意,按照GPLv2协议的要求,基于DragonOS修改或二次开发的软件,必须同样采用GPLv2协议开源,并标明其基于DragonOS进行了修改。亦需保证这些修改版本的用户能方便的获取到DragonOS的原始版本。
140e3b89831SGnoCiYeH
141e3b89831SGnoCiYeH您必须使得DragonOS的开发者们,能够以同样的方式,从公开渠道获取到您二次开发的版本的源代码,否则您将违反GPLv2协议。
142e3b89831SGnoCiYeH
143e3b89831SGnoCiYeH关于协议详细内容,还敬请您请阅读项目根目录下的**LICENSE**文件。请注意,按照GPLv2协议的要求,**只有英文原版才具有法律效力**。任何翻译版本都仅供参考。
144e3b89831SGnoCiYeH:::
145e3b89831SGnoCiYeH
146e3b89831SGnoCiYeH### 开源软件使用情况
147e3b89831SGnoCiYeH
148e3b89831SGnoCiYeH&emsp;&emsp;DragonOS在开发的过程中,参考了Linux社区的一些设计,或者引入了他们的部分思想,亦或是受到了他们的启发。我们在这里对Linux社区以及Linux社区的贡献者们致以最衷心的感谢!
149e3b89831SGnoCiYeH
150e3b89831SGnoCiYeH## 当前版本的所有提交记录
151e3b89831SGnoCiYeH
152e3b89831SGnoCiYeH```text
153e3b89831SGnoCiYeHcommit af59116e1b8643862598607dbc6ef7233f3791b5
154e3b89831SGnoCiYeHAuthor: MemoryShore <105195940+MemoryShore@users.noreply.github.com>
155e3b89831SGnoCiYeHDate:   Tue Mar 12 17:52:14 2024 +0800
156e3b89831SGnoCiYeH
157e3b89831SGnoCiYeH    Update NovaShell version to c6454d3220 (#593)
158e3b89831SGnoCiYeH
159e3b89831SGnoCiYeHcommit 59fdb447ee4f7b53b1d9c56ec1442aa8c597ac2b
160e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
161e3b89831SGnoCiYeHDate:   Tue Mar 12 16:32:33 2024 +0800
162e3b89831SGnoCiYeH
163e3b89831SGnoCiYeH    fix: 键盘中断上下文不再直接操作tty,而是由专门的kthread来渲染 (#592)
164e3b89831SGnoCiYeH
165e3b89831SGnoCiYeH    fix: 键盘中断上下文不再直接操作tty,而是由专门的kthread来渲染
166e3b89831SGnoCiYeH    1.修正psmouse 日志
167e3b89831SGnoCiYeH    2. 键盘中断上下文不再直接操作tty,而是由专门的kthread来渲染
168e3b89831SGnoCiYeH    3. 由于调度器设计问题,load balance会由于时序问题导致错误.因此暂时只启用单核.
169e3b89831SGnoCiYeH
170e3b89831SGnoCiYeHcommit 818a64c77613a9c2152739f1cddad78d61e4a94f
171e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
172e3b89831SGnoCiYeHDate:   Tue Mar 12 15:33:01 2024 +0800
173e3b89831SGnoCiYeH
174e3b89831SGnoCiYeH    暂时禁用load balance (#591)
175e3b89831SGnoCiYeH
176e3b89831SGnoCiYeH    原因见issue: https://github.com/DragonOS-Community/DragonOS/issues/571
177e3b89831SGnoCiYeH
178e3b89831SGnoCiYeHcommit 4374bd1d1177dbf94112aee3ea3f8e8c335a599c
179e3b89831SGnoCiYeHAuthor: GnoCiYeH <heyicong@dragonos.org>
180e3b89831SGnoCiYeHDate:   Mon Mar 11 19:40:52 2024 +0800
181e3b89831SGnoCiYeH
182e3b89831SGnoCiYeH    修复get_random一个问题,添加Held配置文件 (#583)
183e3b89831SGnoCiYeH
184e3b89831SGnoCiYeHcommit 52bcb59e9286def2b66d766f6bf6f46745795ec8
185e3b89831SGnoCiYeHAuthor: GnoCiYeH <heyicong@dragonos.org>
186e3b89831SGnoCiYeHDate:   Mon Mar 11 15:13:37 2024 +0800
187e3b89831SGnoCiYeH
188e3b89831SGnoCiYeH    完善Tty的RawMode (#577)
189e3b89831SGnoCiYeH
190e3b89831SGnoCiYeH    * 完善rowmode,改掉一部分bug
191e3b89831SGnoCiYeH
192e3b89831SGnoCiYeH    * 增加两个ansi拓展功能功能,以及标记部分函数nerve inline
193e3b89831SGnoCiYeH
194e3b89831SGnoCiYeH    * 修改do_signal和其他中断上下文锁未关中断,以及拓展tty功能,修改tty几个算法bug
195e3b89831SGnoCiYeH
196e3b89831SGnoCiYeH    * 修改两个锁
197e3b89831SGnoCiYeH
198e3b89831SGnoCiYeH    * 修改syscall_64
199e3b89831SGnoCiYeH
200e3b89831SGnoCiYeH    * update
201e3b89831SGnoCiYeH
202e3b89831SGnoCiYeHcommit 840045af94ea3391f29e87e968db5d9c48316981
203e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
204e3b89831SGnoCiYeHDate:   Sun Mar 10 21:45:34 2024 +0800
205e3b89831SGnoCiYeH
206e3b89831SGnoCiYeH    引入clippy,并根据clippy的提示,修改部分代码 (#575)
207e3b89831SGnoCiYeH
208e3b89831SGnoCiYeHcommit f4a82aa55c55e1a9233e99a5598e180f0858d877
209e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
210e3b89831SGnoCiYeHDate:   Sun Mar 10 20:42:41 2024 +0800
211e3b89831SGnoCiYeH
212e3b89831SGnoCiYeH    Update Novashell version to 473d5c403c (#574)
213e3b89831SGnoCiYeH
214e3b89831SGnoCiYeH    - fix: 用户输入不正确的;以及单独输入单引号和双引号造成系统重启
215e3b89831SGnoCiYeH    - 修改命令解析算法
216e3b89831SGnoCiYeH    - fix: 输出多余的光标和命令信息
217e3b89831SGnoCiYeH
218e3b89831SGnoCiYeHcommit 4f8f484930ed3c09ecf4b5b05b1dea14f7b05d8b
219e3b89831SGnoCiYeHAuthor: 栗子 <im.lechain@gmail.com>
220e3b89831SGnoCiYeHDate:   Sat Mar 9 21:20:12 2024 +0800
221e3b89831SGnoCiYeH
222e3b89831SGnoCiYeH    修复Archlinux下的bootstrap脚本问题, (#552)
223e3b89831SGnoCiYeH
224e3b89831SGnoCiYeH    * 修复Archlinux下的bootstrap脚本问题,
225e3b89831SGnoCiYeH
226e3b89831SGnoCiYeH    由于archlinux 的 texinfo版本太新导致的gcc docs构建失败
227e3b89831SGnoCiYeH    使用 MAKEINFO=true 的make环境变量跳过gcc docs构建,绕过问题
228e3b89831SGnoCiYeH
229e3b89831SGnoCiYeH
230e3b89831SGnoCiYeH    ---------
231e3b89831SGnoCiYeH
232e3b89831SGnoCiYeH    Co-authored-by: longjin <longjin@dragonos.org>
233e3b89831SGnoCiYeH
234e3b89831SGnoCiYeHcommit 3055390c25bb7b12279df174689ba09ec50c7d46
235e3b89831SGnoCiYeHAuthor: Jomo <xuzihao@dragonos.org>
236e3b89831SGnoCiYeHDate:   Sat Mar 9 11:40:44 2024 +0800
237e3b89831SGnoCiYeH
238e3b89831SGnoCiYeH    完善重映射过程中获取新映射区域时的map_flags (#569)
239e3b89831SGnoCiYeH
240e3b89831SGnoCiYeHcommit 5c4224e5a8244cb0fb32512e70354362fccd6321
241e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
242e3b89831SGnoCiYeHDate:   Fri Mar 8 23:23:06 2024 +0800
243e3b89831SGnoCiYeH
244e3b89831SGnoCiYeH    在riscv上实现异常处理,能够进入异常处理程序 (#564)
245e3b89831SGnoCiYeH
246e3b89831SGnoCiYeHcommit c3dc6f2ff9169c309d1cbf47dcb9e4528d509b2f
247e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
248e3b89831SGnoCiYeHDate:   Fri Mar 8 23:22:48 2024 +0800
249e3b89831SGnoCiYeH
250e3b89831SGnoCiYeH    删除一些过时的C代码 (#565)
251e3b89831SGnoCiYeH
252e3b89831SGnoCiYeH    * 删除C版本的crc库
253e3b89831SGnoCiYeH
254e3b89831SGnoCiYeH    * 删除lockref
255e3b89831SGnoCiYeH
256e3b89831SGnoCiYeH    * 删除过时的libc文档以及wait.c
257e3b89831SGnoCiYeH
258e3b89831SGnoCiYeH    * 删除过时的C版本kfifo代码及文档
259e3b89831SGnoCiYeH
260e3b89831SGnoCiYeH    * 移除未用到的lz4库
261e3b89831SGnoCiYeH
262e3b89831SGnoCiYeH    * 删除内核的stdlib.c
263e3b89831SGnoCiYeH
264e3b89831SGnoCiYeH    * 删除fabs.c
265e3b89831SGnoCiYeH
266e3b89831SGnoCiYeH    * fmt
267e3b89831SGnoCiYeH
268e3b89831SGnoCiYeH    * 使得put_string系统调用能够通过tty输出颜色
269e3b89831SGnoCiYeH    暂且这样改,这一部分应该是用户层面提供的功能,后续删除
270e3b89831SGnoCiYeH
271e3b89831SGnoCiYeH    ---------
272e3b89831SGnoCiYeH
273e3b89831SGnoCiYeH    Co-authored-by: GnoCiYeH <heyicong@dragonos.org>
274e3b89831SGnoCiYeH
275e3b89831SGnoCiYeHcommit 5eeefb8c80e5580641d295724f8d2190bd54979c
276e3b89831SGnoCiYeHAuthor: Chenzx <109664121+schulice@users.noreply.github.com>
277e3b89831SGnoCiYeHDate:   Fri Mar 8 16:01:22 2024 +0800
278e3b89831SGnoCiYeH
279e3b89831SGnoCiYeH    实现SYS_RMDIR (#566)
280e3b89831SGnoCiYeH
281e3b89831SGnoCiYeH    * 实现rmdir系统调用,整理do_remove_dir逻辑
282e3b89831SGnoCiYeH
283e3b89831SGnoCiYeHcommit 338f6903262c5031abad3c8e361813355a27fcdb
284e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
285e3b89831SGnoCiYeHDate:   Tue Mar 5 17:22:04 2024 +0800
286e3b89831SGnoCiYeH
287e3b89831SGnoCiYeH    `riscv`: 初始化irq (#560)
288e3b89831SGnoCiYeH
289e3b89831SGnoCiYeH    完成riscv的irqchip初始化的代码。
290e3b89831SGnoCiYeH
291e3b89831SGnoCiYeH    这是该功能的第一个PR。由于还需要实现timer驱动才能测试,因此该功能将会通过2~3个PR来完成。
292e3b89831SGnoCiYeH
293e3b89831SGnoCiYeHcommit bc6f0a967c8cb1e9379ced184b25a7722fbda2a4
294e3b89831SGnoCiYeHAuthor: 裕依 <68320855+yuyi2439@users.noreply.github.com>
295e3b89831SGnoCiYeHDate:   Mon Mar 4 14:20:01 2024 +0800
296e3b89831SGnoCiYeH
297e3b89831SGnoCiYeH    移除relibc和old libc以及旧的shell (#529)
298e3b89831SGnoCiYeH
299e3b89831SGnoCiYeH    移除relibc和old libc以及旧的shell
300e3b89831SGnoCiYeH
301e3b89831SGnoCiYeHcommit f3b05a97ec061e766247b18dc12e2a413b977b14
302e3b89831SGnoCiYeHAuthor: GnoCiYeH <heyicong@dragonos.org>
303e3b89831SGnoCiYeHDate:   Mon Mar 4 14:10:26 2024 +0800
304e3b89831SGnoCiYeH
305e3b89831SGnoCiYeH    将tty输出接入串口 (#555)
306e3b89831SGnoCiYeH
307e3b89831SGnoCiYeHcommit cf45dede2e46d9341cec75871fdc1bc5961ba5a2
308e3b89831SGnoCiYeHAuthor: MContour <m-contour@qq.com>
309e3b89831SGnoCiYeHDate:   Sun Mar 3 17:20:11 2024 +0800
310e3b89831SGnoCiYeH
311e3b89831SGnoCiYeH    让 DragonOS 仓库管理 service 文件 (#548)
312e3b89831SGnoCiYeH
313e3b89831SGnoCiYeH    * feat: create `user/services` folder to store service files
314e3b89831SGnoCiYeH
315e3b89831SGnoCiYeHcommit e28411791f090c421fe4b6fa5956fb1bd362a8d9
316e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
317e3b89831SGnoCiYeHDate:   Sun Mar 3 16:31:08 2024 +0800
318e3b89831SGnoCiYeH
319e3b89831SGnoCiYeH    完成中断管理模块重构 (#554)
320e3b89831SGnoCiYeH
321e3b89831SGnoCiYeH    - 支持中断共享
322e3b89831SGnoCiYeH    - 把现有驱动程序移植到新的irq模块
323e3b89831SGnoCiYeH    - 使用`ProcessorId`标识处理器id
324e3b89831SGnoCiYeH    - 尚未实现threaded_irq
325e3b89831SGnoCiYeH
326e3b89831SGnoCiYeH    性能上,edge irq flow handler里面,对于锁的使用,可能有点问题。为了获取/修改common data还有其他几个结构体的状态,进行了多次加锁和放锁,导致性能降低。这是接下来需要优化的点。
327e3b89831SGnoCiYeH
328e3b89831SGnoCiYeHcommit 44d051e5864adff6f4ace8a234ef57852840f365
329e3b89831SGnoCiYeHAuthor: Donkey Kane <109840258+xiaolin2004@users.noreply.github.com>
330e3b89831SGnoCiYeHDate:   Sun Mar 3 15:22:45 2024 +0800
331e3b89831SGnoCiYeH
332e3b89831SGnoCiYeH    Modify dadk config to switch NovaShell revision (#550)
333e3b89831SGnoCiYeH
334e3b89831SGnoCiYeHcommit 0e7c46939604a02e739546200bea847f4951a963
335e3b89831SGnoCiYeHAuthor: GnoCiYeH <heyicong@dragonos.org>
336e3b89831SGnoCiYeHDate:   Fri Mar 1 15:07:00 2024 +0800
337e3b89831SGnoCiYeH
338e3b89831SGnoCiYeH    修改事件等待队列对于retain使用方法出错导致唤醒错误 (#551)
339e3b89831SGnoCiYeH
340e3b89831SGnoCiYeHcommit be60c929c8285d3050e022aa23312a84129e54b2
341e3b89831SGnoCiYeHAuthor: GnoCiYeH <heyicong@dragonos.org>
342e3b89831SGnoCiYeHDate:   Wed Feb 28 20:18:49 2024 +0800
343e3b89831SGnoCiYeH
344e3b89831SGnoCiYeH    修改tty几个bug (#549)
345e3b89831SGnoCiYeH
346e3b89831SGnoCiYeH    * 更改ioctl一处逻辑错误
347e3b89831SGnoCiYeH
348e3b89831SGnoCiYeH    * 删除不必要的impl
349e3b89831SGnoCiYeH
350e3b89831SGnoCiYeH    * 修改一处bug,并且加入tty的link,为pty做准备
351e3b89831SGnoCiYeH
352e3b89831SGnoCiYeH    * 修改一处因为vc的pos和x计算错误导致的溢出
353e3b89831SGnoCiYeH
354e3b89831SGnoCiYeHcommit 52da9a59374752b4d01907b052135a0d317781dd
355e3b89831SGnoCiYeHAuthor: GnoCiYeH <heyicong@dragonos.org>
356e3b89831SGnoCiYeHDate:   Mon Feb 26 15:27:19 2024 +0800
357e3b89831SGnoCiYeH
358e3b89831SGnoCiYeH    完成与Linux兼容的Ntty (#517)
359e3b89831SGnoCiYeH
360e3b89831SGnoCiYeH    * 已经完成的功能:
361e3b89831SGnoCiYeH    - 写:printf能够正常在tty输出
362e3b89831SGnoCiYeH    - 读:与键盘驱动接上
363e3b89831SGnoCiYeH    - 信号: 能够正常通过ctrl向前台进程发送信号
364e3b89831SGnoCiYeH
365e3b89831SGnoCiYeH    * 支持目前的shell,改动printk使其与新版tty兼容。
366e3b89831SGnoCiYeH
367e3b89831SGnoCiYeH    * 删除原有tty文件夹,并更改新tty文件名
368e3b89831SGnoCiYeH
369e3b89831SGnoCiYeH    * 添加clear清屏程序
370e3b89831SGnoCiYeH
371e3b89831SGnoCiYeH    * 实现tty部分ioctl,更改部分问题
372e3b89831SGnoCiYeH
373e3b89831SGnoCiYeHcommit 9993c0fc61e9603f631bd6748ff0b4fecb7bd483
374e3b89831SGnoCiYeHAuthor: R0ronoa <84278015+2447742618@users.noreply.github.com>
375e3b89831SGnoCiYeHDate:   Mon Feb 26 15:03:13 2024 +0800
376e3b89831SGnoCiYeH
377e3b89831SGnoCiYeH    添加i8042驱动 改正serio设备文件结构 (#538)
378e3b89831SGnoCiYeH
379e3b89831SGnoCiYeH    * 添加i8042驱动 改正serio设备文件结构
380e3b89831SGnoCiYeH
381e3b89831SGnoCiYeHcommit d2b28acb4d1f160779b25d76afca49ed60ad5d48
382e3b89831SGnoCiYeHAuthor: 栗子 <im.lechain@gmail.com>
383e3b89831SGnoCiYeHDate:   Sun Feb 25 19:57:30 2024 +0800
384e3b89831SGnoCiYeH
385e3b89831SGnoCiYeH    tools/bootstrap.sh: fix archlinux and zsh issue (#535)
386e3b89831SGnoCiYeH
387e3b89831SGnoCiYeH    1. archlinux上没有libssl-dev包,相对应的包名是openssl
388e3b89831SGnoCiYeH    2. zsh用户使用bootstrap.sh 会因为 source ~/.zshrc
389e3b89831SGnoCiYeH       导致bash执行很多zsh built-in 指令出现非常多错误
390e3b89831SGnoCiYeH    3. mkdir命令加-p选项避免对象目录存在时(反复执行脚本)报错
391e3b89831SGnoCiYeH    4. 修复简单错误(typo gcc 为 binutils)
392e3b89831SGnoCiYeH    5. 修复bootstrap.sh等脚本无法在非tools/目录执行的错误
393e3b89831SGnoCiYeH
394e3b89831SGnoCiYeHcommit 7d66c3134c1c5566ac8f8b7524e98650d0480a4a
395e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
396e3b89831SGnoCiYeHDate:   Mon Feb 19 21:40:37 2024 +0800
397e3b89831SGnoCiYeH
398e3b89831SGnoCiYeH    添加简单的cpumask (#533)
399e3b89831SGnoCiYeH
400e3b89831SGnoCiYeHcommit b2ca6800f9d943e5d3656d9b50a099da768775a7
401e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
402e3b89831SGnoCiYeHDate:   Mon Feb 19 19:50:03 2024 +0800
403e3b89831SGnoCiYeH
404e3b89831SGnoCiYeH    添加动态申请的bitmap (#532)
405e3b89831SGnoCiYeH
406e3b89831SGnoCiYeHcommit 0e2c2e8b48369b201f44e0933f775b932b6776ef
407e3b89831SGnoCiYeHAuthor: 裕依 <68320855+yuyi2439@users.noreply.github.com>
408e3b89831SGnoCiYeHDate:   Mon Feb 19 19:31:17 2024 +0800
409e3b89831SGnoCiYeH
410e3b89831SGnoCiYeH    修正systemerror号 (#527)
411e3b89831SGnoCiYeH
412e3b89831SGnoCiYeH    修正systemerror号
413e3b89831SGnoCiYeH
414e3b89831SGnoCiYeHcommit 4cfa009b87c8431a41fab740ffdbd7b008965c9a
415e3b89831SGnoCiYeHAuthor: Jomo <xuzihao@dragonos.org>
416e3b89831SGnoCiYeHDate:   Mon Feb 19 14:54:11 2024 +0800
417e3b89831SGnoCiYeH
418e3b89831SGnoCiYeH    实现mremap系统调用 (#518)
419e3b89831SGnoCiYeH
420e3b89831SGnoCiYeH    * mremap系统调用
421e3b89831SGnoCiYeH
422e3b89831SGnoCiYeHcommit 27b967a38a6dd7a266c43b5e705c29dfbbd71ae4
423e3b89831SGnoCiYeHAuthor: 裕依 <68320855+yuyi2439@users.noreply.github.com>
424e3b89831SGnoCiYeHDate:   Mon Feb 19 14:53:34 2024 +0800
425e3b89831SGnoCiYeH
426e3b89831SGnoCiYeH    添加pread&pwrite (#528)
427e3b89831SGnoCiYeH
428e3b89831SGnoCiYeH    添加pread&pwrite
429e3b89831SGnoCiYeH
430e3b89831SGnoCiYeHcommit 701589559f912deb03eb5176d049d9d07fb29447
431e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
432e3b89831SGnoCiYeHDate:   Mon Feb 19 11:17:23 2024 +0800
433e3b89831SGnoCiYeH
434e3b89831SGnoCiYeH    删除无用的C版本bitree和ida/idr. (#526)
435e3b89831SGnoCiYeH
436e3b89831SGnoCiYeH    这些数据结构不再使用,将其删除.
437e3b89831SGnoCiYeH
438e3b89831SGnoCiYeHcommit 196b75dc17b5cc2ed84301bce776e496ddfe1ed1
439e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
440e3b89831SGnoCiYeHDate:   Mon Feb 19 00:56:58 2024 +0800
441e3b89831SGnoCiYeH
442e3b89831SGnoCiYeH    把irqdesc添加到sysfs (#525)
443e3b89831SGnoCiYeH
444e3b89831SGnoCiYeH    * 把irqdesc添加到sysfs
445e3b89831SGnoCiYeH
446e3b89831SGnoCiYeHcommit 3bc96fa4a9c01d91cddeb152fe78d6408351c29f
447e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
448e3b89831SGnoCiYeHDate:   Mon Feb 19 00:36:36 2024 +0800
449e3b89831SGnoCiYeH
450e3b89831SGnoCiYeH    添加irqdesc的抽象,并在系统初始化时创建irqdesc (#522)
451e3b89831SGnoCiYeH
452e3b89831SGnoCiYeH    * 添加irqdesc的抽象,并在系统初始化时创建irqdesc
453e3b89831SGnoCiYeH
454e3b89831SGnoCiYeHcommit ce5850adbf74ec6c6717bbb5b1749f1fbff4ca0d
455e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
456e3b89831SGnoCiYeHDate:   Sun Feb 18 20:41:41 2024 +0800
457e3b89831SGnoCiYeH
458e3b89831SGnoCiYeH    添加irqchip这一层的数据结构(尚未接入真实的芯片) (#520)
459e3b89831SGnoCiYeH
460e3b89831SGnoCiYeH    * 添加irqchip这一层的数据结构(尚未接入真实的芯片)
461e3b89831SGnoCiYeH
462e3b89831SGnoCiYeHcommit ca318c376bd9e39f8fe71f304974f7e99e8e01f4
463e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
464e3b89831SGnoCiYeHDate:   Sat Feb 17 01:51:10 2024 +0800
465e3b89831SGnoCiYeH
466e3b89831SGnoCiYeH    update dragonreach to 3d99c3a9d9 (#519)
467e3b89831SGnoCiYeH
468e3b89831SGnoCiYeHcommit 472f0b3931eadda2bbcc67889d612790f147190b
469e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
470e3b89831SGnoCiYeHDate:   Tue Feb 13 12:14:12 2024 +0800
471e3b89831SGnoCiYeH
472e3b89831SGnoCiYeH    update dragonreach to 40362c48d6 (#516)
473e3b89831SGnoCiYeH
474e3b89831SGnoCiYeHcommit d90848514bea7efd5898f5824b98f1bf2e54de8d
475e3b89831SGnoCiYeHAuthor: Luo Jia / Zhouqi Jiang <luojia@hust.edu.cn>
476e3b89831SGnoCiYeHDate:   Sat Feb 10 23:20:50 2024 +0800
477e3b89831SGnoCiYeH
478e3b89831SGnoCiYeH    riscv: 更新sbi-rt至0.0.3版本 (#512)
479e3b89831SGnoCiYeH
480e3b89831SGnoCiYeH    先前使用git仓库链接的最新更新已发布至crates.io网站
481e3b89831SGnoCiYeH
482e3b89831SGnoCiYeH    Signed-off-by: Zhouqi Jiang <luojia@hust.edu.cn>
483e3b89831SGnoCiYeH
484e3b89831SGnoCiYeHcommit 4ad52e57e612a88ab09413c7ac0072db96a93632
485e3b89831SGnoCiYeHAuthor: 裕依2439 <68320855+yuyi2439@users.noreply.github.com>
486e3b89831SGnoCiYeHDate:   Wed Feb 7 18:06:15 2024 +0800
487e3b89831SGnoCiYeH
488e3b89831SGnoCiYeH    添加socketpair (#505)
489e3b89831SGnoCiYeH
490e3b89831SGnoCiYeH    * 添加对socketpair系统调用的处理
491e3b89831SGnoCiYeH
492e3b89831SGnoCiYeH    ---------
493e3b89831SGnoCiYeH
494e3b89831SGnoCiYeH    Co-authored-by: LoGin <longjin@DragonOS.org>
495e3b89831SGnoCiYeH
496e3b89831SGnoCiYeHcommit cb23beb255d8e32b45d879ac19386a3597ca4115
497e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
498e3b89831SGnoCiYeHDate:   Wed Feb 7 17:15:17 2024 +0800
499e3b89831SGnoCiYeH
500e3b89831SGnoCiYeH    riscv: probe sbi extensions (#511)
501e3b89831SGnoCiYeH
502e3b89831SGnoCiYeHcommit f2022a8a1cc4a8e2a85e9061e036e9c491a2fa00
503e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
504e3b89831SGnoCiYeHDate:   Wed Feb 7 13:29:47 2024 +0800
505e3b89831SGnoCiYeH
506e3b89831SGnoCiYeH    使用rust编写中断/异常的入口 (#509)
507e3b89831SGnoCiYeH
508e3b89831SGnoCiYeH    * 使用rust编写中断/异常的入口
509e3b89831SGnoCiYeH
510e3b89831SGnoCiYeHcommit d14e28a8a9b023ee8df7c2e8eee43e523134dbb2
511e3b89831SGnoCiYeHAuthor: Luo Jia / Zhouqi Jiang <me@luojia.cc>
512e3b89831SGnoCiYeHDate:   Wed Feb 7 11:38:15 2024 +0800
513e3b89831SGnoCiYeH
514e3b89831SGnoCiYeH    riscv: 使用sbi-rt库完成SBI操作 (#510)
515e3b89831SGnoCiYeH
516e3b89831SGnoCiYeH    未来的其它SBI操作也将使用sbi-rt
517e3b89831SGnoCiYeH
518e3b89831SGnoCiYeH    Signed-off-by: Zhouqi Jiang <luojia@hust.edu.cn>
519e3b89831SGnoCiYeH
520e3b89831SGnoCiYeHcommit fccbe87dcae0f8e8fde611ef60b1f7923126d526
521e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
522e3b89831SGnoCiYeHDate:   Mon Feb 5 14:50:15 2024 +0800
523e3b89831SGnoCiYeH
524e3b89831SGnoCiYeH    删除关于zulip的表述,替换为社区论坛 (#508)
525e3b89831SGnoCiYeH
526e3b89831SGnoCiYeHcommit 5b59005f930266d0e9c0092373e894826150f862
527e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
528e3b89831SGnoCiYeHDate:   Sun Feb 4 15:46:24 2024 +0800
529e3b89831SGnoCiYeH
530e3b89831SGnoCiYeH    x86_64: 使用Rust重写内核初始化代码 (#507)
531e3b89831SGnoCiYeH
532e3b89831SGnoCiYeH    * x86_64: 使用Rust重写内核初始化代码
533e3b89831SGnoCiYeH
534e3b89831SGnoCiYeHcommit 453452cc02e2766a28d87dd47bdee37caddc4c44
535e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
536e3b89831SGnoCiYeHDate:   Sun Feb 4 14:35:18 2024 +0800
537e3b89831SGnoCiYeH
538e3b89831SGnoCiYeH    初始化riscv的内存管理模块,并且设置保留内存 (#506)
539e3b89831SGnoCiYeH
540e3b89831SGnoCiYeHcommit a02ce654cf0166720f8569827d0c5b2dfd0ca95a
541e3b89831SGnoCiYeHAuthor: Chiichen <chiichen@qq.com>
542e3b89831SGnoCiYeHDate:   Sun Jan 28 20:29:01 2024 +0800
543e3b89831SGnoCiYeH
544e3b89831SGnoCiYeH    支持对动态链接文件的加载,支持通过musl工具链编写用户空间程序 (#504)
545e3b89831SGnoCiYeH
546e3b89831SGnoCiYeH    支持对动态链接文件的加载,支持通过musl工具链编写用户空间程序
547e3b89831SGnoCiYeH
548e3b89831SGnoCiYeHcommit 5d549a76ab0cf66651a6614be92dcb481fe7af2a
549e3b89831SGnoCiYeHAuthor: Chiichen <chiichen@qq.com>
550e3b89831SGnoCiYeHDate:   Fri Jan 26 20:45:08 2024 +0800
551e3b89831SGnoCiYeH
552e3b89831SGnoCiYeH    修改一处常量定义 (#503)
553e3b89831SGnoCiYeH
554e3b89831SGnoCiYeH    * 修改一处常量定义
555e3b89831SGnoCiYeH
556e3b89831SGnoCiYeH    * 修复ELF加载程序对用户程序加载地址判断不正确的地方
557e3b89831SGnoCiYeH
558e3b89831SGnoCiYeH    ---------
559e3b89831SGnoCiYeH
560e3b89831SGnoCiYeH    Co-authored-by: longjin <longjin@DragonOS.org>
561e3b89831SGnoCiYeH
562e3b89831SGnoCiYeHcommit 9284987850c1da2ce607a539eeae8a353a8f6df9
563e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
564e3b89831SGnoCiYeHDate:   Fri Jan 26 18:08:39 2024 +0800
565e3b89831SGnoCiYeH
566e3b89831SGnoCiYeH    riscv: 完成UEFI初始化,能正确设置memblock的信息 (#501)
567e3b89831SGnoCiYeH
568e3b89831SGnoCiYeH    * riscv: 完成UEFI初始化,能正确设置memblock的信息
569e3b89831SGnoCiYeH
570e3b89831SGnoCiYeH    * sbi增加reset功能
571e3b89831SGnoCiYeH
572e3b89831SGnoCiYeH    * 把虚拟CPU修改为sifive-u54,使qemu能更正确地模拟硬件行为
573e3b89831SGnoCiYeH
574e3b89831SGnoCiYeH    * 修复内存页面映射未设置“DIRTY”、”ACCESSED“、”GLOBAL“位,导致真机page fault的问题
575e3b89831SGnoCiYeH
576e3b89831SGnoCiYeHcommit a381e482cbe742b2e4bbeaacae134a8131bf3f91
577e3b89831SGnoCiYeHAuthor: R0ronoa <84278015+2447742618@users.noreply.github.com>
578e3b89831SGnoCiYeHDate:   Wed Jan 24 19:17:22 2024 +0800
579e3b89831SGnoCiYeH
580e3b89831SGnoCiYeH    实现Ps/2鼠标驱动 (#500)
581e3b89831SGnoCiYeH
582e3b89831SGnoCiYeH    实现Ps/2鼠标驱动
583e3b89831SGnoCiYeH
584e3b89831SGnoCiYeHcommit 8d72b68da9339ec97e1b8929bcf2946f0fd83cd5
585e3b89831SGnoCiYeHAuthor: Jomo <xuzihao@dragonos.org>
586e3b89831SGnoCiYeHDate:   Wed Jan 24 16:13:15 2024 +0800
587e3b89831SGnoCiYeH
588e3b89831SGnoCiYeH    实现内核日志系统 (#489)
589e3b89831SGnoCiYeH
590e3b89831SGnoCiYeH    * 实现写日志和读取日志,并且能够在用户态下执行dmesg命令查看日志
591e3b89831SGnoCiYeH
592e3b89831SGnoCiYeH    * 通过klogctl实现dmesg
593e3b89831SGnoCiYeH
594e3b89831SGnoCiYeH    * 改用ConstGenericRingBuffer作内核缓冲区
595e3b89831SGnoCiYeH
596e3b89831SGnoCiYeH    * 更改缓冲区容量
597e3b89831SGnoCiYeH
598e3b89831SGnoCiYeH    * 将能够输出到控制台的日志级别改为日志级别枚举类,使用SpinLock控制KMSG,使用枚举类定义SYSLOG_ACTION,将do_syslog系统调用接口放在syscall.rs
599e3b89831SGnoCiYeH
600e3b89831SGnoCiYeH    * fix warning
601e3b89831SGnoCiYeH
602e3b89831SGnoCiYeH    * 完善do_syslog注释
603e3b89831SGnoCiYeH
604e3b89831SGnoCiYeH    * 将KMSG接入kinfo、kdebug等
605e3b89831SGnoCiYeH
606e3b89831SGnoCiYeH    * fix warning
607e3b89831SGnoCiYeH
608e3b89831SGnoCiYeH    * 修复显示的秒数不正确,·以及无法通过CI的问题
609e3b89831SGnoCiYeH
610e3b89831SGnoCiYeHcommit d46c6d27941a26de14f55a2bbf956219bcc70871
611e3b89831SGnoCiYeHAuthor: 裕依2439 <68320855+yuyi2439@users.noreply.github.com>
612e3b89831SGnoCiYeHDate:   Tue Jan 23 23:36:52 2024 +0800
613e3b89831SGnoCiYeH
614e3b89831SGnoCiYeH    修复tty的buf满时始终阻塞的问题 (#493)
615e3b89831SGnoCiYeH
616e3b89831SGnoCiYeH    * 修复tty的buf满时始终阻塞的问题
617e3b89831SGnoCiYeH
618e3b89831SGnoCiYeHcommit 43ef2a0d2b6ec427f6775cd4593c56897dd5bf6d
619e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
620e3b89831SGnoCiYeHDate:   Sun Jan 21 18:45:07 2024 +0800
621e3b89831SGnoCiYeH
622e3b89831SGnoCiYeH    添加riscv64的github workflow (#499)
623e3b89831SGnoCiYeH
624e3b89831SGnoCiYeH    * 添加riscv64的github workflow
625e3b89831SGnoCiYeH
626e3b89831SGnoCiYeHcommit 7a29d4fcbcd89a226289c7bf541c2c78623de3ad
627e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
628e3b89831SGnoCiYeHDate:   Sun Jan 21 15:38:12 2024 +0800
629e3b89831SGnoCiYeH
630e3b89831SGnoCiYeH    riscv64: 映射uefi systemtable,并完善了riscv64页表填写的部分内容 (#498)
631e3b89831SGnoCiYeH
632e3b89831SGnoCiYeH    * 从fdt的chosen段获取几个需要的字段
633e3b89831SGnoCiYeH
634e3b89831SGnoCiYeH    * merge patch-early-ioremap
635e3b89831SGnoCiYeH
636e3b89831SGnoCiYeH    * feature: 增加early io remap的fixmap功能
637e3b89831SGnoCiYeH
638e3b89831SGnoCiYeH    允许在内存管理初始化之前,使用fixmap功能,映射一些物理内存,并记录.
639e3b89831SGnoCiYeH
640e3b89831SGnoCiYeH    * riscv64: 映射uefi systemtable,并完善了riscv64页表填写的部分内容
641e3b89831SGnoCiYeH
642e3b89831SGnoCiYeH    * 更新仓库网址
643e3b89831SGnoCiYeH
644e3b89831SGnoCiYeHcommit 3e3c6316aaac5a8a2932bd1746ec8b900dc5e2c6
645e3b89831SGnoCiYeHAuthor: Chiichen <chiichen@qq.com>
646e3b89831SGnoCiYeHDate:   Sun Jan 21 01:38:45 2024 +0800
647e3b89831SGnoCiYeH
648e3b89831SGnoCiYeH    fix: 修复了ps2和tty初始化顺序的错误 (#497)
649e3b89831SGnoCiYeH
650e3b89831SGnoCiYeH    * 修复了ps2和tty初始化顺序的错误
651e3b89831SGnoCiYeH
652e3b89831SGnoCiYeHcommit 74ffde667e5e7f4ac8ce6d5a5ec2c1403f36cbb0
653e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
654e3b89831SGnoCiYeHDate:   Sun Jan 21 01:21:55 2024 +0800
655e3b89831SGnoCiYeH
656e3b89831SGnoCiYeH    feature: 增加early io remap的fixmap功能 (#495)
657e3b89831SGnoCiYeH
658e3b89831SGnoCiYeH    允许在内存管理初始化之前,使用fixmap功能,映射一些物理内存,并记录.
659e3b89831SGnoCiYeH
660e3b89831SGnoCiYeHcommit 1f58c8f5cff8e82441b66789c3dc7c009d52f29a
661e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
662e3b89831SGnoCiYeHDate:   Thu Jan 18 22:39:58 2024 +0800
663e3b89831SGnoCiYeH
664e3b89831SGnoCiYeH    Update mini-backtrace版本到e0b1d90940 (#494)
665e3b89831SGnoCiYeH
666e3b89831SGnoCiYeH    内容:
667e3b89831SGnoCiYeH
668e3b89831SGnoCiYeH    [https://github.com/DragonOS-Community/mini-backtrace/pull/1](https://github.com/DragonOS-Community/mini-backtrace/pull/1)
669e3b89831SGnoCiYeH
670e3b89831SGnoCiYeH    Co-authored-by: Yao Zhao <dragonlinux@gmail.com>
671e3b89831SGnoCiYeH
672e3b89831SGnoCiYeHcommit c75ef4e2126c180bf04c08635ffa5a278619c035
673e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
674e3b89831SGnoCiYeHDate:   Thu Jan 18 00:09:36 2024 +0800
675e3b89831SGnoCiYeH
676e3b89831SGnoCiYeH    添加early ioremap支持 (#492)
677e3b89831SGnoCiYeH
678e3b89831SGnoCiYeH    * 使用early io remap来映射早期的vesa缓冲区
679e3b89831SGnoCiYeH
680e3b89831SGnoCiYeHcommit d8e29bffeee4fe4fe76ead3c761dd03f5395e6c2
681e3b89831SGnoCiYeHAuthor: R0ronoa <84278015+2447742618@users.noreply.github.com>
682e3b89831SGnoCiYeHDate:   Wed Jan 17 23:57:49 2024 +0800
683e3b89831SGnoCiYeH
684e3b89831SGnoCiYeH    增加serio总线和相关trait (#488)
685e3b89831SGnoCiYeH
686e3b89831SGnoCiYeH    * 新增serio总线和相关trait
687e3b89831SGnoCiYeH
688e3b89831SGnoCiYeH    * 补充SerioDeviceManager和SerioDriverManager
689e3b89831SGnoCiYeH
690e3b89831SGnoCiYeHcommit 6994f6b113f6fea7b997ec07130a7bdaecfd67b7
691e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
692e3b89831SGnoCiYeHDate:   Mon Jan 15 18:13:22 2024 +0800
693e3b89831SGnoCiYeH
694e3b89831SGnoCiYeH    完成bitmap的static bitmap功能,能够静态声明bitmap (#490)
695e3b89831SGnoCiYeH
696e3b89831SGnoCiYeH    * 完成bitmap的static bitmap功能,能够静态声明bitmap
697e3b89831SGnoCiYeH
698e3b89831SGnoCiYeHcommit dcf232f378b36fad754799fc121a70cadc8d5cb3
699e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
700e3b89831SGnoCiYeHDate:   Sun Jan 14 17:00:42 2024 +0800
701e3b89831SGnoCiYeH
702e3b89831SGnoCiYeH    当找不到内核日志缓冲区的时候,重试 (#491)
703e3b89831SGnoCiYeH
704e3b89831SGnoCiYeHcommit 45626c859f95054b76d8b59afcbd24c6b235026f
705e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
706e3b89831SGnoCiYeHDate:   Wed Jan 3 18:00:47 2024 +0800
707e3b89831SGnoCiYeH
708e3b89831SGnoCiYeH    riscv: 解析dtb,获取可用内存空间并添加到memblock (#486)
709e3b89831SGnoCiYeH
710e3b89831SGnoCiYeHcommit 02343d0b5b47c07e7f4ec3818940795b1009fae1
711e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
712e3b89831SGnoCiYeHDate:   Tue Jan 2 14:16:10 2024 +0800
713e3b89831SGnoCiYeH
714e3b89831SGnoCiYeH    增加/dev/fb0,能够在用户程序读写帧缓冲区 (#485)
715e3b89831SGnoCiYeH
716e3b89831SGnoCiYeHcommit e7071df6a47c100381a8bc2000022e82d422361a
717e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
718e3b89831SGnoCiYeHDate:   Mon Jan 1 11:53:49 2024 +0800
719e3b89831SGnoCiYeH
720e3b89831SGnoCiYeHopengrok.ringotek.cn替换为code.dragonos.org.cn (#484)
721e3b89831SGnoCiYeH
722e3b89831SGnoCiYeHcommit c566df451ce6dbf2af684333e68b39fdfff86498
723e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
724e3b89831SGnoCiYeHDate:   Mon Jan 1 11:46:51 2024 +0800
725e3b89831SGnoCiYeH
726e3b89831SGnoCiYeH    添加帧缓冲区抽象并实现vesafb的驱动 (#483)
727e3b89831SGnoCiYeH
728e3b89831SGnoCiYeH    - 添加bootparams对象
729e3b89831SGnoCiYeH    - 修正由于bus的driver、device强弱引用关系 不正确从而导致对象被释放的bug
730e3b89831SGnoCiYeH    - 添加vesafb的驱动
731e3b89831SGnoCiYeH    - 实现framebuffer抽象层
732e3b89831SGnoCiYeH    - 为通用帧缓冲区抽象实现sysfs的属性
733e3b89831SGnoCiYeH    - 修改设备号DeviceNumber的定义
734e3b89831SGnoCiYeH    - 仿照linux,添加initcall,并在第一个内核线程中,调用他们。
735e3b89831SGnoCiYeH
736e3b89831SGnoCiYeHcommit e3eb08d4d7148d6dad369e2ef27979d1bcf85bd6
737e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
738e3b89831SGnoCiYeHDate:   Sat Dec 30 16:23:26 2023 +0800
739e3b89831SGnoCiYeH
740e3b89831SGnoCiYeH    fix: 修复安装musl-gcc的脚本没能正确设置x86_64下的环境变量的问题 (#482)
741e3b89831SGnoCiYeH
742e3b89831SGnoCiYeHcommit 81294aa2e6b257f0de5e3c28c3f3c89798330836
743e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
744e3b89831SGnoCiYeHDate:   Wed Dec 27 20:32:25 2023 +0800
745e3b89831SGnoCiYeH
746e3b89831SGnoCiYeH    fix: 修正bootstrap脚本安装docker后会使得当前终端进入root的问题 (#481)
747e3b89831SGnoCiYeH
748e3b89831SGnoCiYeHcommit cfd642e2835eded086b6e944427e4a88f03e2fff
749e3b89831SGnoCiYeHAuthor: MemoryShore <105195940+MemoryShore@users.noreply.github.com>
750e3b89831SGnoCiYeHDate:   Wed Dec 27 15:07:01 2023 +0800
751e3b89831SGnoCiYeH
752e3b89831SGnoCiYeH    更新nova shell的revision为64ad1b282a (#477)
753e3b89831SGnoCiYeH
754e3b89831SGnoCiYeH    - 修复tab补全时始终基于根目录的问题
755e3b89831SGnoCiYeH    - 修复touch命令提示已存在文件的bug
756e3b89831SGnoCiYeH
757e3b89831SGnoCiYeHcommit 5e948c56506aa0554d212341a7630587d55ebb87
758e3b89831SGnoCiYeHAuthor: GnoCiYeH <heyicong@dragonos.org>
759e3b89831SGnoCiYeHDate:   Wed Dec 27 15:02:29 2023 +0800
760e3b89831SGnoCiYeH
761e3b89831SGnoCiYeH    修正pipe逻辑,将pipe接入epoll。 (#478)
762e3b89831SGnoCiYeH
763e3b89831SGnoCiYeHcommit 0d6cf65aa124ee55bfee44cbb5196917ea6522fa
764e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
765e3b89831SGnoCiYeHDate:   Wed Dec 27 14:27:12 2023 +0800
766e3b89831SGnoCiYeH
767e3b89831SGnoCiYeH    Patch fix sched and net lockdep error (#479)
768e3b89831SGnoCiYeH
769e3b89831SGnoCiYeH    - fix: 修复调度器,软中断,定时器,网络子系统的部分锁的使用不符合锁依赖安全规范的问题
770e3b89831SGnoCiYeH    - fix: 修复创建pcb时内核栈爆栈的问题
771e3b89831SGnoCiYeH    - 把异常的trap gate改成intr gate
772e3b89831SGnoCiYeH
773e3b89831SGnoCiYeH    ---------
774e3b89831SGnoCiYeH
775e3b89831SGnoCiYeH    Co-authored-by: GnoCiYeH <heyicong@dragonos.org>
776e3b89831SGnoCiYeH
777e3b89831SGnoCiYeHcommit 91e9d4ab55ef960f57a1b6287bc523ca4341f67a
778e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
779e3b89831SGnoCiYeHDate:   Mon Dec 25 23:12:27 2023 +0800
780e3b89831SGnoCiYeH
781e3b89831SGnoCiYeH    实现unified-init库,支持收集初始化函数到一个数组,并统一初始化 (#474)
782e3b89831SGnoCiYeH
783e3b89831SGnoCiYeH    * 添加“统一初始化”的过程宏,并把SystemError独立成crate
784e3b89831SGnoCiYeH
785e3b89831SGnoCiYeH    * 使用unified-init来初始化fbmem
786e3b89831SGnoCiYeH
787e3b89831SGnoCiYeH    * 更新workflow,增加内核自动化静态测试
788e3b89831SGnoCiYeH
789e3b89831SGnoCiYeHcommit f110d330d5493f383067b4e82ebbfb72f40457b2
790e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
791e3b89831SGnoCiYeHDate:   Mon Dec 25 21:54:00 2023 +0800
792e3b89831SGnoCiYeH
793e3b89831SGnoCiYeH    修复bootstrap在安装riscv gcc依赖时出现冲突的问题 (#476)
794e3b89831SGnoCiYeH
795e3b89831SGnoCiYeHcommit 406099704eb939ae23b18f0cfb3ed36c534c1c84
796e3b89831SGnoCiYeHAuthor: GnoCiYeH <heyicong@dragonos.org>
797e3b89831SGnoCiYeHDate:   Mon Dec 25 18:08:12 2023 +0800
798e3b89831SGnoCiYeH
799e3b89831SGnoCiYeH    增加epoll机制 (#455)
800e3b89831SGnoCiYeH
801e3b89831SGnoCiYeH    * ## 增加epoll机制
802e3b89831SGnoCiYeH    - 增加epoll机制
803e3b89831SGnoCiYeH    - 添加事件等待队列,提升socket性能
804e3b89831SGnoCiYeH    - 优化poll,删除不能poll的文件系统中的poll方法
805e3b89831SGnoCiYeH
806e3b89831SGnoCiYeH    * 添加细节注释
807e3b89831SGnoCiYeH
808e3b89831SGnoCiYeH    * 修复文件关闭后epoll还持有对应描述符的文件弱引用的bug
809e3b89831SGnoCiYeH
810e3b89831SGnoCiYeH    * 将EPollEvent设计为POSIX标准
811e3b89831SGnoCiYeH
812e3b89831SGnoCiYeH    * 修改s到us转换的计算错误
813e3b89831SGnoCiYeH
814e3b89831SGnoCiYeHcommit 070e991008b268b7103236a46b8651a983522869
815e3b89831SGnoCiYeHAuthor: R0ronoa <84278015+2447742618@users.noreply.github.com>
816e3b89831SGnoCiYeHDate:   Fri Dec 22 16:01:23 2023 +0800
817e3b89831SGnoCiYeH
818e3b89831SGnoCiYeH    解决由于Makefile问题导致make run-uefi无法正常启动的问题 (#473)
819e3b89831SGnoCiYeH
820e3b89831SGnoCiYeHcommit 08a2ee408498b0db4c76c57b149f1cf047758f3c
821e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
822e3b89831SGnoCiYeHDate:   Wed Dec 20 17:24:05 2023 +0800
823e3b89831SGnoCiYeH
824e3b89831SGnoCiYeH    添加FrameBuffer的接口抽象&完善设备驱动模型的class相关代码 (#472)
825e3b89831SGnoCiYeH
826e3b89831SGnoCiYeH    * 添加FrameBuffer的接口抽象(参考Linux 6.1.9)
827e3b89831SGnoCiYeH
828e3b89831SGnoCiYeH    * feature: 完善设备驱动模型的class的抽象,并创建graphics class
829e3b89831SGnoCiYeH
830e3b89831SGnoCiYeH    * feature: 完善设备驱动模型中Device对class的处理,使得能够在class下注册设备
831e3b89831SGnoCiYeH
832e3b89831SGnoCiYeH    目前注册了fbcon设备,但是由于虚拟终端还没写,因此fbcon的到终端以及帧缓冲区的映射还没加上去.
833e3b89831SGnoCiYeH
834e3b89831SGnoCiYeHcommit 8612b6ce7afc903999ccf0b65bd65019484d2fad
835e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
836e3b89831SGnoCiYeHDate:   Tue Dec 19 11:56:14 2023 +0800
837e3b89831SGnoCiYeH
838e3b89831SGnoCiYeH    bugfix: 修复无法sleep的问题以及进程处于block(true)状态时无法被信号唤醒&唤醒后不处理信号的问题 (#470)
839e3b89831SGnoCiYeH
840e3b89831SGnoCiYeHcommit 24ff1faffb3d610cd55e3c658fd50ea0a0efedfb
841e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
842e3b89831SGnoCiYeHDate:   Mon Dec 18 17:44:53 2023 +0800
843e3b89831SGnoCiYeH
844e3b89831SGnoCiYeH    doc: 修改Rust代码注释风格文档 (#471)
845e3b89831SGnoCiYeH
846e3b89831SGnoCiYeHcommit 111c5407ccb7774695c8047cf895481d3387fda9
847e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
848e3b89831SGnoCiYeHDate:   Sun Dec 17 21:08:03 2023 +0800
849e3b89831SGnoCiYeH
850e3b89831SGnoCiYeH    设置idle进程的时间片为0,降低调度延迟 (#469)
851e3b89831SGnoCiYeH
852e3b89831SGnoCiYeHcommit 666cffedab3da9684e5abf5eebcbddae63590364
853e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
854e3b89831SGnoCiYeHDate:   Sat Dec 16 22:26:26 2023 +0800
855e3b89831SGnoCiYeH
856e3b89831SGnoCiYeH    riscv: 映射内核到指定的虚拟地址,使得kinfo能正常工作 (#468)
857e3b89831SGnoCiYeH
858e3b89831SGnoCiYeH    * riscv: 映射内核到指定的虚拟地址,使得kinfo能正常工作
859e3b89831SGnoCiYeH
860e3b89831SGnoCiYeHcommit cf442324231632df3c3b0da3d2c8e19087863aa0
861e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
862e3b89831SGnoCiYeHDate:   Wed Dec 13 14:44:57 2023 +0800
863e3b89831SGnoCiYeH
864e3b89831SGnoCiYeH    修复x86下第二次编译的时候内核没有拷贝到磁盘的问题 (#467)
865e3b89831SGnoCiYeH
866e3b89831SGnoCiYeHcommit 1a72a751b18cf5bbe7b5b9e91aff530de0c18501
867e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
868e3b89831SGnoCiYeHDate:   Thu Dec 7 02:13:22 2023 +0800
869e3b89831SGnoCiYeH
870e3b89831SGnoCiYeH    在riscv输出hello world (#466)
871e3b89831SGnoCiYeH
872e3b89831SGnoCiYeH    增加了以下内容:
873e3b89831SGnoCiYeH    - SBI驱动
874e3b89831SGnoCiYeH    - 把内核的rust工具链升级到2023-08-15版本
875e3b89831SGnoCiYeH    - 输出riscv的helloworld
876e3b89831SGnoCiYeH    - 设置内核是PIC的
877e3b89831SGnoCiYeH
878e3b89831SGnoCiYeHcommit fca83acef4ba261453f7c71960eacf83d0cf51f4
879e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
880e3b89831SGnoCiYeHDate:   Mon Dec 4 22:10:10 2023 +0800
881e3b89831SGnoCiYeH
882e3b89831SGnoCiYeH    修复cache-toolchain.yml的格式问题 (#464)
883e3b89831SGnoCiYeH
884e3b89831SGnoCiYeHcommit 6c7f966c2f3e3ed299168fc97ae346a85cc6e322
885e3b89831SGnoCiYeHAuthor: MemoryShore <105195940+MemoryShore@users.noreply.github.com>
886e3b89831SGnoCiYeHDate:   Mon Dec 4 22:07:30 2023 +0800
887e3b89831SGnoCiYeH
888e3b89831SGnoCiYeH    NovaShell替换为默认shell (#456)
889e3b89831SGnoCiYeH
890e3b89831SGnoCiYeH    * NovaShell替换为默认shell
891e3b89831SGnoCiYeH
892e3b89831SGnoCiYeH    * delete some envvar
893e3b89831SGnoCiYeH
894e3b89831SGnoCiYeH    * 自动从dragonos镜像站更新dadk
895e3b89831SGnoCiYeH
896e3b89831SGnoCiYeH    * 更新github ci环境
897e3b89831SGnoCiYeH
898e3b89831SGnoCiYeH    * 修复yml格式问题
899e3b89831SGnoCiYeH
900e3b89831SGnoCiYeH    * 更新novashell到95738b235f
901e3b89831SGnoCiYeH
902e3b89831SGnoCiYeH    ---------
903e3b89831SGnoCiYeH
904e3b89831SGnoCiYeH    Co-authored-by: longjin <longjin@DragonOS.org>
905e3b89831SGnoCiYeH
906e3b89831SGnoCiYeHcommit 09d2bf52a6d048929a879748ae26e4fdea45e5d5
907e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
908e3b89831SGnoCiYeHDate:   Sun Dec 3 21:27:43 2023 +0800
909e3b89831SGnoCiYeH
910e3b89831SGnoCiYeH    update-dragon-stub-bf2617 (#463)
911e3b89831SGnoCiYeH
912e3b89831SGnoCiYeHcommit af3543100543b9ac6159dc9f9367a76ff670b1f3
913e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
914e3b89831SGnoCiYeHDate:   Sun Dec 3 17:16:03 2023 +0800
915e3b89831SGnoCiYeH
916e3b89831SGnoCiYeH    使用submodule引入DragonStub (#462)
917e3b89831SGnoCiYeH
918e3b89831SGnoCiYeH    * 修正构建系统文档: 使用repo工具克隆代码
919e3b89831SGnoCiYeH
920e3b89831SGnoCiYeH    * 使用submodule管理
921e3b89831SGnoCiYeH
922e3b89831SGnoCiYeHcommit 83ed0ebc293d5a10245089f627f52770fd5b9dd4
923e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
924e3b89831SGnoCiYeHDate:   Sun Dec 3 14:51:21 2023 +0800
925e3b89831SGnoCiYeH
926e3b89831SGnoCiYeH    修正构建系统文档: 使用repo工具克隆代码 (#461)
927e3b89831SGnoCiYeH
928e3b89831SGnoCiYeHcommit 01090de77ef263b81edf449b77320d5fa28569de
929e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
930e3b89831SGnoCiYeHDate:   Sun Dec 3 14:40:13 2023 +0800
931e3b89831SGnoCiYeH
932e3b89831SGnoCiYeH    使用DragonStub引导riscv下的DragonOS内核 (#460)
933e3b89831SGnoCiYeH
934e3b89831SGnoCiYeHcommit 4fda81ce81939d83b74c8042d6fb4223deff3685
935e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
936e3b89831SGnoCiYeHDate:   Sat Nov 25 12:07:39 2023 +0800
937e3b89831SGnoCiYeH
938e3b89831SGnoCiYeH    使得DragonOS kernel 能为riscv64编译通过(尚未能启动) (#457)
939e3b89831SGnoCiYeH
940e3b89831SGnoCiYeH    * 使得DragonOS kernel 能为riscv64编译通过(尚未能启动)
941e3b89831SGnoCiYeH
942e3b89831SGnoCiYeH    * 修正了系统调用号声明不正确的问题,同时添加了编译配置文档
943e3b89831SGnoCiYeH
944e3b89831SGnoCiYeHcommit a1fd1cf1cbe6934221f95213ce02b21f21add225
945e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
946e3b89831SGnoCiYeHDate:   Thu Nov 23 21:12:16 2023 +0800
947e3b89831SGnoCiYeH
948e3b89831SGnoCiYeH    把tar的二进制镜像源更换为国内源 (#458)
949e3b89831SGnoCiYeH
950e3b89831SGnoCiYeHcommit cc5feaf67b914ecf701abcba70c01da149755491
951e3b89831SGnoCiYeHAuthor: Jomo <2512364506@qq.com>
952e3b89831SGnoCiYeHDate:   Thu Nov 23 21:04:32 2023 +0800
953e3b89831SGnoCiYeH
954e3b89831SGnoCiYeH    bugfix: 修复因rsdp v1 v2版本问题,导致ACPI无法正常初始化的bug (#454)
955e3b89831SGnoCiYeH
956e3b89831SGnoCiYeH    bugfix: 修复因rsdp v1 v2版本问题,导致ACPI无法正常初始化的bug
957e3b89831SGnoCiYeH
958e3b89831SGnoCiYeHcommit c89d0c12377cd406a9b7465d7c087aeb9faefa51
959e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
960e3b89831SGnoCiYeHDate:   Tue Nov 21 20:24:43 2023 +0800
961e3b89831SGnoCiYeH
962e3b89831SGnoCiYeH    修复bootstrap的一系列脚本忘了source最新的shell rc的问题 (#453)
963e3b89831SGnoCiYeH
964e3b89831SGnoCiYeHcommit c75089286e9d49cef8d039446bf570c1bd4d2550
965e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
966e3b89831SGnoCiYeHDate:   Tue Nov 21 13:42:18 2023 +0800
967e3b89831SGnoCiYeH
968e3b89831SGnoCiYeH    调整脚本,使得能够创建riscv的磁盘镜像,并引导进入riscv下的grub (#450)
969e3b89831SGnoCiYeH
970e3b89831SGnoCiYeH    * 安装musl toolchain以及riscv相关的工具链
971e3b89831SGnoCiYeH
972e3b89831SGnoCiYeH    * 调整脚本,使得能够创建riscv的磁盘镜像,并引导进入riscv下的grub
973e3b89831SGnoCiYeH
974e3b89831SGnoCiYeH    ```shell
975e3b89831SGnoCiYeH    export ARCH=riscv64
976e3b89831SGnoCiYeH    make write_diskimage
977e3b89831SGnoCiYeH    make qemu
978e3b89831SGnoCiYeH    ```
979e3b89831SGnoCiYeH
980e3b89831SGnoCiYeH    即可在serial_opt.txt看到进入grub的提示信息
981e3b89831SGnoCiYeH
982e3b89831SGnoCiYeHcommit 48a3baa9b1d24dd1fc037cd9961945708c5c9b71
983e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
984e3b89831SGnoCiYeHDate:   Tue Nov 21 13:42:06 2023 +0800
985e3b89831SGnoCiYeH
986e3b89831SGnoCiYeH    安装musl toolchain以及riscv相关的工具链 (#449)
987e3b89831SGnoCiYeH
988e3b89831SGnoCiYeHcommit 84e7f7100664123d8ebc6b0f983c96242d15c396
989e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
990e3b89831SGnoCiYeHDate:   Mon Nov 20 15:51:41 2023 +0800
991e3b89831SGnoCiYeH
992e3b89831SGnoCiYeH    添加赞助商雅安数字经济运营有限公司的信息到readme (#451)
993e3b89831SGnoCiYeH
994e3b89831SGnoCiYeHcommit 99dbf38d2e279ea70e9e186753fd37001dbb749f
995e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
996e3b89831SGnoCiYeHDate:   Sun Nov 19 11:42:53 2023 +0800
997e3b89831SGnoCiYeH
998e3b89831SGnoCiYeH    bugfix: 当物理机具有多个memory area的时候,无法正确使用这些区域的问题.以及在内核代码处出现内存空洞而导致无法正常运行的问题. (#448)
999e3b89831SGnoCiYeH
1000e3b89831SGnoCiYeH    * bugfix: 当物理机具有多个memory area的时候,无法正确使用这些区域的问题.以及在内核代码处出现内存空洞而导致无法正常运行的问题.
1001e3b89831SGnoCiYeH
1002e3b89831SGnoCiYeH    解决方案:
1003e3b89831SGnoCiYeH    1. 分区域把空闲页添加到buddy
1004e3b89831SGnoCiYeH    2. 将内核链接到16M的位置,以避免uefi带来的内存空洞.
1005e3b89831SGnoCiYeH
1006e3b89831SGnoCiYeH    这个值是因为我看到linux的救援内核也是在16M的地址,因此猜测厂商不会使用这块内存.
1007e3b89831SGnoCiYeH    尽管uefi规范讲的是固件可以采用任何地址,内核需要使用内核重定位技术去避免遇到内存空洞,但我没有这么做.
1008e3b89831SGnoCiYeH
1009e3b89831SGnoCiYeHcommit 46e234aef65c081393fb7652e0ad2bae26786ce4
1010e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1011e3b89831SGnoCiYeHDate:   Fri Nov 17 21:25:15 2023 +0800
1012e3b89831SGnoCiYeH
1013e3b89831SGnoCiYeH    使用cargo管理一些C文件的编译,并且移动部分汇编到arch目录 (#447)
1014e3b89831SGnoCiYeH
1015e3b89831SGnoCiYeH    * 使用cargo管理main.c的编译
1016e3b89831SGnoCiYeH
1017e3b89831SGnoCiYeH    * 使用build-scripts编译架构相关的c代码
1018e3b89831SGnoCiYeH
1019e3b89831SGnoCiYeH    * 删除elf.h
1020e3b89831SGnoCiYeH
1021e3b89831SGnoCiYeHcommit e4600f7f7d8f2295dbf970812ab1fcab81eb6eae
1022e3b89831SGnoCiYeHAuthor: Jomo <2512364506@qq.com>
1023e3b89831SGnoCiYeHDate:   Fri Nov 17 21:23:01 2023 +0800
1024e3b89831SGnoCiYeH
1025e3b89831SGnoCiYeH    Kconfig (#432)
1026e3b89831SGnoCiYeH
1027e3b89831SGnoCiYeH    * 内核编译配置
1028e3b89831SGnoCiYeH
1029e3b89831SGnoCiYeH    * 将kernel.config的解析代码搬入crate
1030e3b89831SGnoCiYeH
1031e3b89831SGnoCiYeH    * 将设置feature函数放入CargoHandler中
1032e3b89831SGnoCiYeH
1033e3b89831SGnoCiYeHcommit 11f78b73e7b18ef04e05e63612f8027eda0740e7
1034e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1035e3b89831SGnoCiYeHDate:   Fri Nov 17 20:05:57 2023 +0800
1036e3b89831SGnoCiYeH
1037e3b89831SGnoCiYeH    使用kernel-build脚本来编译所有的asm文件 (#445)
1038e3b89831SGnoCiYeH
1039e3b89831SGnoCiYeHcommit e4fb6c9754e535861a5e67db29fb6e8c2e9c8469
1040e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1041e3b89831SGnoCiYeHDate:   Fri Nov 17 12:26:10 2023 +0800
1042e3b89831SGnoCiYeH
1043e3b89831SGnoCiYeH    美化readme (#446)
1044e3b89831SGnoCiYeH
1045e3b89831SGnoCiYeH    * 美化readme
1046e3b89831SGnoCiYeH
1047e3b89831SGnoCiYeHcommit e26ca418df7af685226d12d7f22fe1785ba163e4
1048e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1049e3b89831SGnoCiYeHDate:   Fri Nov 17 11:26:26 2023 +0800
1050e3b89831SGnoCiYeH
1051e3b89831SGnoCiYeH    把内核构建脚本单独独立成一个crate (#444)
1052e3b89831SGnoCiYeH
1053e3b89831SGnoCiYeHcommit a0c98cd4df88474f2efd927930862df50e016b73
1054e3b89831SGnoCiYeHAuthor: Jomo <xuzihao@dragonos.org>
1055e3b89831SGnoCiYeHDate:   Thu Nov 16 21:37:04 2023 +0800
1056e3b89831SGnoCiYeH
1057e3b89831SGnoCiYeH    解决textui framework初始化成功后串口无法正常换行 (#443)
1058e3b89831SGnoCiYeH
1059e3b89831SGnoCiYeHcommit edaf015400f83967c2fc940f07be0dbb5792246f
1060e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1061e3b89831SGnoCiYeHDate:   Wed Nov 15 17:17:56 2023 +0800
1062e3b89831SGnoCiYeH
1063e3b89831SGnoCiYeH    默认安装gnu tar到dragonos的/usr/bin目录下 (#442)
1064e3b89831SGnoCiYeH
1065e3b89831SGnoCiYeHcommit 0fb515b011967be01006cf88d788793dbbce2967
1066e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1067e3b89831SGnoCiYeHDate:   Wed Nov 15 15:39:35 2023 +0800
1068e3b89831SGnoCiYeH
1069e3b89831SGnoCiYeH    完善pipe系统调用以及openat系统调用 (#441)
1070e3b89831SGnoCiYeH
1071e3b89831SGnoCiYeHcommit bf4a48994a2b284ee34aa49a66b4dec1b6ebc07c
1072e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1073e3b89831SGnoCiYeHDate:   Mon Nov 13 23:02:21 2023 +0800
1074e3b89831SGnoCiYeH
1075e3b89831SGnoCiYeH    新增系统调用,并对照linux-6.1.9改写sys_wait4 (#440)
1076e3b89831SGnoCiYeH
1077e3b89831SGnoCiYeH    * 1. 新增以下系统调用
1078e3b89831SGnoCiYeH                - SYS_LSTAT
1079e3b89831SGnoCiYeH                - SYS_READV
1080e3b89831SGnoCiYeH                - SYS_ACCESS
1081e3b89831SGnoCiYeH                - SYS_UNLINK
1082e3b89831SGnoCiYeH                - SYS_CHMOD
1083e3b89831SGnoCiYeH                - SYS_FCHMOD
1084e3b89831SGnoCiYeH                - SYS_UMASK
1085e3b89831SGnoCiYeH                - SYS_SYSINFO
1086e3b89831SGnoCiYeH                - SYS_CLOCK_GETTIME
1087e3b89831SGnoCiYeH                - SYS_FCHMODAT
1088e3b89831SGnoCiYeH                - SYS_FACCESSAT
1089e3b89831SGnoCiYeH
1090e3b89831SGnoCiYeH    2. 修改sys_wait4,使得其部分符合Linux的行为(还是有些地方不符合的,详情请对比linux-6.1.9的sys_wait4接口)
1091e3b89831SGnoCiYeH
1092e3b89831SGnoCiYeHcommit 9b0abe6da72176086c3188e0599fda950562668f
1093e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1094e3b89831SGnoCiYeHDate:   Sun Nov 12 21:23:48 2023 +0800
1095e3b89831SGnoCiYeH
1096e3b89831SGnoCiYeH    添加access、faccessat、faccessat2 (#439)
1097e3b89831SGnoCiYeH
1098e3b89831SGnoCiYeHcommit 0d9b7d9240ef65c3e603a371db57a80d26a7b9dd
1099e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1100e3b89831SGnoCiYeHDate:   Sun Nov 12 18:44:15 2023 +0800
1101e3b89831SGnoCiYeH
1102e3b89831SGnoCiYeH    添加prlimit64系统调用 (#438)
1103e3b89831SGnoCiYeH
1104e3b89831SGnoCiYeH    注意: 目前仅支持读取默认的rlimit值,尚不支持设置rlimit值.
1105e3b89831SGnoCiYeH
1106e3b89831SGnoCiYeHcommit 4a2d7191a3a6208b72e1d163c0235f566720f79a
1107e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1108e3b89831SGnoCiYeHDate:   Sun Nov 12 17:53:36 2023 +0800
1109e3b89831SGnoCiYeH
1110e3b89831SGnoCiYeH    bugfix: 解决shell在exec的时候传递的argv不正确的bug (#437)
1111e3b89831SGnoCiYeH
1112e3b89831SGnoCiYeHcommit 709498cac1f2134b2a5e089366ee7136ee029369
1113e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1114e3b89831SGnoCiYeHDate:   Sun Nov 12 17:40:45 2023 +0800
1115e3b89831SGnoCiYeH
1116e3b89831SGnoCiYeH    feat: sys_readlink && sys_readlinkat (#436)
1117e3b89831SGnoCiYeH
1118e3b89831SGnoCiYeHcommit be8cdf4b8edcd9579572672411f4489039dea313
1119e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1120e3b89831SGnoCiYeHDate:   Sun Nov 12 16:36:17 2023 +0800
1121e3b89831SGnoCiYeH
1122e3b89831SGnoCiYeH    增加getrusage,并把apic timer的频率调整为系统HZ (#435)
1123e3b89831SGnoCiYeH
1124e3b89831SGnoCiYeHcommit 02e249f30bfe08b8a5cde1226ca0161f9e370927
1125e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1126e3b89831SGnoCiYeHDate:   Sun Nov 12 14:11:33 2023 +0800
1127e3b89831SGnoCiYeH
1128e3b89831SGnoCiYeH    添加uid、gid的系统调用(暴力封装返回0) (#434)
1129e3b89831SGnoCiYeH
1130e3b89831SGnoCiYeHcommit ea8ad4d42e52016fe581a2451165146f109dfd6e
1131e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1132e3b89831SGnoCiYeHDate:   Sun Nov 12 13:40:17 2023 +0800
1133e3b89831SGnoCiYeH
1134e3b89831SGnoCiYeH    修正fork的时候没有正确拷贝vm holes的bug (#433)
1135e3b89831SGnoCiYeH
1136e3b89831SGnoCiYeHcommit c47fe90440fb7c6c82953e28a4b9597b22924758
1137e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1138e3b89831SGnoCiYeHDate:   Thu Nov 9 18:20:27 2023 +0800
1139e3b89831SGnoCiYeH
1140e3b89831SGnoCiYeH    增加accept4系统调用 (#431)
1141e3b89831SGnoCiYeH
1142e3b89831SGnoCiYeHcommit 393f691574844544e76231379e4938e9046be7b9
1143e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1144e3b89831SGnoCiYeHDate:   Thu Nov 9 16:48:45 2023 +0800
1145e3b89831SGnoCiYeH
1146e3b89831SGnoCiYeH    增加gettid以及线程组group leader相关的逻辑 (#430)
1147e3b89831SGnoCiYeH
1148e3b89831SGnoCiYeH    * 增加gettid以及线程组group leader相关的逻辑
1149e3b89831SGnoCiYeH
1150e3b89831SGnoCiYeHcommit 0facf623d638816d7d01a700e19a52c3c16a8fa1
1151e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1152e3b89831SGnoCiYeHDate:   Thu Nov 9 00:10:34 2023 +0800
1153e3b89831SGnoCiYeH
1154e3b89831SGnoCiYeH    修正文件open和写入的错误 (#429)
1155e3b89831SGnoCiYeH
1156e3b89831SGnoCiYeH    1. 修正文件open的时候可能错误的把inode清空的问题(如果当前inode是mknod创建的)
1157e3b89831SGnoCiYeH    2. 修正fat和block device中,对文件写入部分的错误问题
1158e3b89831SGnoCiYeH
1159e3b89831SGnoCiYeHcommit 04babc3faba81997149ed11fda2ed03b4bbf4700
1160e3b89831SGnoCiYeHAuthor: MemoryShore <105195940+MemoryShore@users.noreply.github.com>
1161e3b89831SGnoCiYeHDate:   Wed Nov 8 21:42:51 2023 +0800
1162e3b89831SGnoCiYeH
1163e3b89831SGnoCiYeH    实现fat文件系统的truncate方法 (#428)
1164e3b89831SGnoCiYeH
1165e3b89831SGnoCiYeHcommit df2f5051ac645f600f2aefcaff3a9608b2c0de3f
1166e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1167e3b89831SGnoCiYeHDate:   Wed Nov 8 20:01:51 2023 +0800
1168e3b89831SGnoCiYeH
1169e3b89831SGnoCiYeH    添加read the docs yml文件 (#427)
1170e3b89831SGnoCiYeH
1171e3b89831SGnoCiYeHcommit 5eaf536d5b81c234f9aea560e0c9d994fac3eb76
1172e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1173e3b89831SGnoCiYeHDate:   Wed Nov 8 19:41:08 2023 +0800
1174e3b89831SGnoCiYeH
1175e3b89831SGnoCiYeH    添加初始化DragonOS的Rust-Musl工具链的脚本. (#426)
1176e3b89831SGnoCiYeH
1177e3b89831SGnoCiYeHcommit 7b32f5080f42bcbf7d2421013f3ea53c776a063c
1178e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1179e3b89831SGnoCiYeHDate:   Tue Nov 7 21:39:27 2023 +0800
1180e3b89831SGnoCiYeH
1181e3b89831SGnoCiYeH    增加内存分配日志监视器 (#424)
1182e3b89831SGnoCiYeH
1183e3b89831SGnoCiYeH    * 完成内存日志监视,并输出日志到文件
1184e3b89831SGnoCiYeH    * 修复进程退出后,procfs查看进程status文件会崩溃的问题
1185e3b89831SGnoCiYeH    * 修复signal唤醒进程的判断条件问题
1186e3b89831SGnoCiYeH
1187e3b89831SGnoCiYeHcommit 70a4e5550a9fb49b537092287c3ddc36448c5b78
1188e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1189e3b89831SGnoCiYeHDate:   Tue Nov 7 20:32:06 2023 +0800
1190e3b89831SGnoCiYeH
1191e3b89831SGnoCiYeH    使用rust重写了apic的驱动 (#425)
1192e3b89831SGnoCiYeH
1193e3b89831SGnoCiYeH    * 使用rust重写了apic的驱动。
1194e3b89831SGnoCiYeH
1195e3b89831SGnoCiYeH    * 修正signal和调度器的部分加锁逻辑,增加回退策略。
1196e3b89831SGnoCiYeH
1197e3b89831SGnoCiYeH    * 把pcb的flags字段替换为无锁的
1198e3b89831SGnoCiYeH
1199e3b89831SGnoCiYeH    * 使用cargo管理apic的编译
1200e3b89831SGnoCiYeH
1201e3b89831SGnoCiYeH    * 删除makefile中指定PIC的变量
1202e3b89831SGnoCiYeH
1203e3b89831SGnoCiYeH    ---------
1204e3b89831SGnoCiYeH
1205e3b89831SGnoCiYeH    Co-authored-by: Gou Ngai <ymd7823@outlook.com>
1206e3b89831SGnoCiYeH    Co-authored-by: 櫻井桃華 <89176634+TihayaKousaka@users.noreply.github.com>
1207e3b89831SGnoCiYeH
1208e3b89831SGnoCiYeHcommit 4935c74f326cd4e0854959c0ec8ab1d726c05e41
1209e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1210e3b89831SGnoCiYeHDate:   Mon Nov 6 17:27:05 2023 +0800
1211e3b89831SGnoCiYeH
1212e3b89831SGnoCiYeH    添加自定义的crc库(支持crc64) (#423)
1213e3b89831SGnoCiYeH
1214e3b89831SGnoCiYeHcommit 1effcfe519c06f04303340281fe9f62096184a74
1215e3b89831SGnoCiYeHAuthor: GnoCiYeH <heyicong@dragonos.org>
1216e3b89831SGnoCiYeHDate:   Sun Nov 5 23:15:46 2023 +0800
1217e3b89831SGnoCiYeH
1218e3b89831SGnoCiYeH    修复readdir以及读磁盘时buf传错问题 (#422)
1219e3b89831SGnoCiYeH
1220e3b89831SGnoCiYeH    * 修复readdir以及读磁盘时buf传错问题
1221e3b89831SGnoCiYeH
1222e3b89831SGnoCiYeH    * fix potential memory problem
1223e3b89831SGnoCiYeH
1224e3b89831SGnoCiYeH    ---------
1225e3b89831SGnoCiYeH
1226e3b89831SGnoCiYeH    Co-authored-by: longjin <longjin@DragonOS.org>
1227e3b89831SGnoCiYeH
1228e3b89831SGnoCiYeHcommit 1603395155fc166de0ac5f80369526e196526ed2
1229e3b89831SGnoCiYeHAuthor: GnoCiYeH <heyicong@dragonos.org>
1230e3b89831SGnoCiYeHDate:   Sat Nov 4 21:39:44 2023 +0800
1231e3b89831SGnoCiYeH
1232e3b89831SGnoCiYeH    支持syscall快速系统调用指令 (#417)
1233e3b89831SGnoCiYeH
1234e3b89831SGnoCiYeH    * 支持syscall快速系统调用指令
1235e3b89831SGnoCiYeH
1236e3b89831SGnoCiYeH    ---------
1237e3b89831SGnoCiYeH
1238e3b89831SGnoCiYeH    Co-authored-by: LoGin <longjin@DragonOS.org>
1239e3b89831SGnoCiYeH
1240e3b89831SGnoCiYeHcommit 2f6f547ae05c19871138e558ba6943ff07f4c68c
1241e3b89831SGnoCiYeHAuthor: GnoCiYeH <heyicong@dragonos.org>
1242e3b89831SGnoCiYeHDate:   Sat Nov 4 21:35:25 2023 +0800
1243e3b89831SGnoCiYeH
1244e3b89831SGnoCiYeH    Patch fix sched (#419)
1245e3b89831SGnoCiYeH
1246e3b89831SGnoCiYeH    1.解决waitqueue sleep的时候,由于preempt count不为0,导致sched失败,从而导致该waitqueue下一次wakeup时,会把pcb多次加入调度队列的bug
1247e3b89831SGnoCiYeH    2.修复socket inode 的read和write方法里面没有使用no_preempt的问题
1248e3b89831SGnoCiYeH    3. 修复cpu0的内核栈由于脏数据导致new_idle的时候set pcb报错的问题
1249e3b89831SGnoCiYeH
1250e3b89831SGnoCiYeH    ---------
1251e3b89831SGnoCiYeH
1252e3b89831SGnoCiYeH    Co-authored-by: longjin <longjin@DragonOS.org>
1253e3b89831SGnoCiYeH
1254e3b89831SGnoCiYeHcommit 8058ccb307bbaf06a5810af32bcba3e41ab9fb93
1255e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1256e3b89831SGnoCiYeHDate:   Fri Nov 3 21:01:09 2023 +0800
1257e3b89831SGnoCiYeH
1258e3b89831SGnoCiYeH    修复bootstrap.sh未能自动更换gcc镜像源, 未能自动安装docker的问题 (#418)
1259e3b89831SGnoCiYeH
1260e3b89831SGnoCiYeHcommit d470019b1e675a04473cbb3c3eeaf180c8665e6d
1261e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1262e3b89831SGnoCiYeHDate:   Wed Nov 1 22:12:19 2023 +0800
1263e3b89831SGnoCiYeH
1264e3b89831SGnoCiYeH    patch add mini backtrace (#416)
1265e3b89831SGnoCiYeH
1266e3b89831SGnoCiYeH    * support rust panic backtrace
1267e3b89831SGnoCiYeH
1268e3b89831SGnoCiYeH    mini-backtrace has llvm's unwind cpp source to support backtrace/unwind.
1269e3b89831SGnoCiYeH    as unwind/backtrace needs dynamically allocates memory, mini-backtrace
1270e3b89831SGnoCiYeH    uses stack memory to capture fixed number of backtrace to avoid heap
1271e3b89831SGnoCiYeH    allocation.
1272e3b89831SGnoCiYeH    as unwind library needed, it needs to turn on eh_frame_hdr
1273e3b89831SGnoCiYeH
1274e3b89831SGnoCiYeH    * 修改忘了生成kernel.elf的问题
1275e3b89831SGnoCiYeH
1276e3b89831SGnoCiYeH    * 设置backtrace是默认的feature
1277e3b89831SGnoCiYeH
1278e3b89831SGnoCiYeH    ---------
1279e3b89831SGnoCiYeH
1280e3b89831SGnoCiYeH    Co-authored-by: Yao Zhao <dragonlinux@gmail.com>
1281e3b89831SGnoCiYeH
1282e3b89831SGnoCiYeHcommit 8b3d1688daac2aaf4e87403ecda5467a01464f81
1283e3b89831SGnoCiYeHAuthor: yuyi2439 <68320855+yuyi2439@users.noreply.github.com>
1284e3b89831SGnoCiYeHDate:   Wed Nov 1 21:11:55 2023 +0800
1285e3b89831SGnoCiYeH
1286e3b89831SGnoCiYeH    把pci驱动的读取acpi mcfg的代码,调整为从新的acpi驱动来读取 (#413)
1287e3b89831SGnoCiYeH
1288e3b89831SGnoCiYeH    * 把pci驱动的读取acpi mcfg的代码,调整为从新的acpi驱动来读取
1289e3b89831SGnoCiYeH
1290e3b89831SGnoCiYeHcommit 971462be94ba0a5c74af7a5f9653dfabd4932a63
1291e3b89831SGnoCiYeHAuthor: GnoCiYeH <heyicong@dragonos.org>
1292e3b89831SGnoCiYeHDate:   Wed Nov 1 20:55:57 2023 +0800
1293e3b89831SGnoCiYeH
1294e3b89831SGnoCiYeH    添加thread和futex机制 (#411)
1295e3b89831SGnoCiYeH
1296e3b89831SGnoCiYeH    * 初步实现clone系统调用
1297e3b89831SGnoCiYeH
1298e3b89831SGnoCiYeH    * 实现了线程,初步实现futex机制,添加了几个小的系统调用
1299e3b89831SGnoCiYeH
1300e3b89831SGnoCiYeH    * 更改pcb引用计数问题
1301e3b89831SGnoCiYeH
1302e3b89831SGnoCiYeH    * 解决死锁bug
1303e3b89831SGnoCiYeH
1304e3b89831SGnoCiYeH    ---------
1305e3b89831SGnoCiYeH
1306e3b89831SGnoCiYeH    Co-authored-by: LoGin <longjin@DragonOS.org>
1307e3b89831SGnoCiYeH
1308e3b89831SGnoCiYeHcommit 665f4a7707e33f3b4d2fde77113fa3d13b5b52c4
1309e3b89831SGnoCiYeHAuthor: Chiichen <39649411+Chiichen@users.noreply.github.com>
1310e3b89831SGnoCiYeHDate:   Wed Nov 1 14:18:00 2023 +0800
1311e3b89831SGnoCiYeH
1312e3b89831SGnoCiYeH    更新了使用clangd的.gitignore (#415)
1313e3b89831SGnoCiYeH
1314e3b89831SGnoCiYeH    Co-authored-by: chiichen <chiichen@qq.com>
1315e3b89831SGnoCiYeH
1316e3b89831SGnoCiYeHcommit 77799ccaaca276fe127448d169f0e035837cce44
1317e3b89831SGnoCiYeHAuthor: Wu Mianzhi <31810920+Hdksg10@users.noreply.github.com>
1318e3b89831SGnoCiYeHDate:   Mon Oct 30 00:08:52 2023 +0800
1319e3b89831SGnoCiYeH
1320e3b89831SGnoCiYeH    完成e1000e驱动 (#393)
1321e3b89831SGnoCiYeH
1322e3b89831SGnoCiYeH    * 测试RESET
1323e3b89831SGnoCiYeH
1324e3b89831SGnoCiYeH    * 测试RESET
1325e3b89831SGnoCiYeH
1326e3b89831SGnoCiYeH    * 基于轮询的实现
1327e3b89831SGnoCiYeH
1328e3b89831SGnoCiYeH    * 规范化部分unsafe的使用
1329e3b89831SGnoCiYeH
1330e3b89831SGnoCiYeH    * 完成中断处理函数,同时去除了不必要的内存拷贝行为,准备编写napi机制
1331e3b89831SGnoCiYeH
1332e3b89831SGnoCiYeH    * 实现现有协议栈下的部分napi机制;修复了内存泄漏的问题;添加了一部分代码注释
1333e3b89831SGnoCiYeH
1334e3b89831SGnoCiYeH    * 去除部分无用代码
1335e3b89831SGnoCiYeH
1336e3b89831SGnoCiYeH    * 去除一些无用代码
1337e3b89831SGnoCiYeH
1338e3b89831SGnoCiYeH    * 适配新的驱动模型
1339e3b89831SGnoCiYeH
1340e3b89831SGnoCiYeH    * 完成msi中断测试
1341e3b89831SGnoCiYeH
1342e3b89831SGnoCiYeH    * 去除一些无用代码
1343e3b89831SGnoCiYeH
1344e3b89831SGnoCiYeH    * 格式化代码
1345e3b89831SGnoCiYeH
1346e3b89831SGnoCiYeH    * 增加了一些注释,提高代码可读性
1347e3b89831SGnoCiYeH
1348e3b89831SGnoCiYeH    * 去除无关文件
1349e3b89831SGnoCiYeH
1350e3b89831SGnoCiYeH    * 优化了读取mac地址的方式,提高可读性
1351e3b89831SGnoCiYeH
1352e3b89831SGnoCiYeHcommit fbe6becd6dd3cd72643707e0088f20364ac1b166
1353e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1354e3b89831SGnoCiYeHDate:   Thu Oct 26 23:08:39 2023 +0800
1355e3b89831SGnoCiYeH
1356e3b89831SGnoCiYeH    添加rust重构版本的HPET驱动和tsc驱动,并使用HPET校准tsc频率和cpu总线频率 (#412)
1357e3b89831SGnoCiYeH
1358e3b89831SGnoCiYeH    * 添加rust重构版本的HPET驱动和tsc驱动,并使用HPET校准tsc频率和cpu总线频率
1359e3b89831SGnoCiYeH
1360e3b89831SGnoCiYeH    * 把hpet.c移动到arch文件夹下
1361e3b89831SGnoCiYeH
1362e3b89831SGnoCiYeHcommit ad1d649eddee4aa8ac81b2f44bc99da462a6a813
1363e3b89831SGnoCiYeHAuthor: GnoCiYeH <heyicong@dragonos.org>
1364e3b89831SGnoCiYeHDate:   Tue Oct 24 19:59:01 2023 +0800
1365e3b89831SGnoCiYeH
1366e3b89831SGnoCiYeH    更新系统调用号 (#410)
1367e3b89831SGnoCiYeH
1368e3b89831SGnoCiYeH    * 更新系统调用号
1369e3b89831SGnoCiYeH
1370e3b89831SGnoCiYeH    * 更改DragonReach和relibc版本
1371e3b89831SGnoCiYeH
1372e3b89831SGnoCiYeH    * update
1373e3b89831SGnoCiYeH
1374e3b89831SGnoCiYeH    * update
1375e3b89831SGnoCiYeH
1376e3b89831SGnoCiYeH    * fix warning
1377e3b89831SGnoCiYeH
1378e3b89831SGnoCiYeH    ---------
1379e3b89831SGnoCiYeH
1380e3b89831SGnoCiYeH    Co-authored-by: longjin <longjin@RinGoTek.cn>
1381e3b89831SGnoCiYeH
1382e3b89831SGnoCiYeHcommit f4082b86b15989a1d43e62050c6ba9b363c91ece
1383e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1384e3b89831SGnoCiYeHDate:   Tue Oct 24 16:40:49 2023 +0800
1385e3b89831SGnoCiYeH
1386e3b89831SGnoCiYeH    更改系统调用的寄存器传参顺序 (#409)
1387e3b89831SGnoCiYeH
1388e3b89831SGnoCiYeHcommit 40314b30ab2a7e1fd06a05a00f693e644e446035
1389e3b89831SGnoCiYeHAuthor: Xiaoye Zheng <xiaoyez@zju.edu.cn>
1390e3b89831SGnoCiYeHDate:   Tue Oct 24 14:31:56 2023 +0800
1391e3b89831SGnoCiYeH
1392e3b89831SGnoCiYeH    DragonOS虚拟化 (#389)
1393e3b89831SGnoCiYeH
1394e3b89831SGnoCiYeH    * try some ioctl flow & kvm device
1395e3b89831SGnoCiYeH
1396e3b89831SGnoCiYeH    * add sys ioctl
1397e3b89831SGnoCiYeH
1398e3b89831SGnoCiYeH    * 删掉一些debug信息
1399e3b89831SGnoCiYeH
1400e3b89831SGnoCiYeH    * 修改run-qemu.sh脚本,在QEMU中enable vmx
1401e3b89831SGnoCiYeH
1402e3b89831SGnoCiYeH    * 修改cr0,cr4,msr寄存器enable VMX operations
1403e3b89831SGnoCiYeH
1404e3b89831SGnoCiYeH    * enable vmx operation
1405e3b89831SGnoCiYeH
1406e3b89831SGnoCiYeH    * allocate memory for vmcs with bug
1407e3b89831SGnoCiYeH
1408e3b89831SGnoCiYeH    * allocate memory for vmcs
1409e3b89831SGnoCiYeH
1410e3b89831SGnoCiYeH    * cpu virt-50%
1411e3b89831SGnoCiYeH
1412e3b89831SGnoCiYeH    * single vcpu virt
1413e3b89831SGnoCiYeH
1414e3b89831SGnoCiYeH    * add vmcs fields
1415e3b89831SGnoCiYeH
1416e3b89831SGnoCiYeH    * CPU virt overall flow with bug
1417e3b89831SGnoCiYeH
1418e3b89831SGnoCiYeH    * run vmlaunch success
1419e3b89831SGnoCiYeH
1420e3b89831SGnoCiYeH    * run CPU virt with bug
1421e3b89831SGnoCiYeH
1422e3b89831SGnoCiYeH    * 成功运行non-root模式的guest
1423e3b89831SGnoCiYeH
1424e3b89831SGnoCiYeH    * 成功运行vmexit,进入vmx_return函数
1425e3b89831SGnoCiYeH
1426e3b89831SGnoCiYeH    * 成功运行vmlaunch, vmexit, vmresume
1427e3b89831SGnoCiYeH
1428e3b89831SGnoCiYeH    * vmexit handler with bug
1429e3b89831SGnoCiYeH
1430e3b89831SGnoCiYeH    * 完成vmexit cpuid handler
1431e3b89831SGnoCiYeH
1432e3b89831SGnoCiYeH    * fix vmresume guest状态恢复的bug
1433e3b89831SGnoCiYeH
1434e3b89831SGnoCiYeH    * 增加vm ioctl
1435e3b89831SGnoCiYeH
1436e3b89831SGnoCiYeH    * refactor kvm 50%
1437e3b89831SGnoCiYeH
1438e3b89831SGnoCiYeH    * refactor kvm 80%
1439e3b89831SGnoCiYeH
1440e3b89831SGnoCiYeH    * FIXME: kvm vmlaunch failed
1441e3b89831SGnoCiYeH
1442e3b89831SGnoCiYeH    * vmlaunch success
1443e3b89831SGnoCiYeH
1444e3b89831SGnoCiYeH    * FIXME: output error
1445e3b89831SGnoCiYeH
1446e3b89831SGnoCiYeH    * update guest_rsp
1447e3b89831SGnoCiYeH
1448e3b89831SGnoCiYeH    * cpu virt refactor
1449e3b89831SGnoCiYeH
1450e3b89831SGnoCiYeH    * add mmu related struct
1451e3b89831SGnoCiYeH
1452e3b89831SGnoCiYeH    * add usermemory region workflow
1453e3b89831SGnoCiYeH
1454e3b89831SGnoCiYeH    * add mem-virt workflow
1455e3b89831SGnoCiYeH
1456e3b89831SGnoCiYeH    * add mem-virt
1457e3b89831SGnoCiYeH
1458e3b89831SGnoCiYeH    * refactor code
1459e3b89831SGnoCiYeH
1460e3b89831SGnoCiYeH    * add vcpu ioctl set_regs
1461e3b89831SGnoCiYeH
1462e3b89831SGnoCiYeH    * rename hypervisor to vm & solve some deadlock bugs
1463e3b89831SGnoCiYeH
1464e3b89831SGnoCiYeH    * workout mem pipeline
1465e3b89831SGnoCiYeH
1466e3b89831SGnoCiYeH    * fix vmcs control setting bugs
1467e3b89831SGnoCiYeH
1468e3b89831SGnoCiYeH    * refactor segment regs initialization
1469e3b89831SGnoCiYeH
1470e3b89831SGnoCiYeH    * resovle conficts
1471e3b89831SGnoCiYeH
1472e3b89831SGnoCiYeH    * resovle conficts
1473e3b89831SGnoCiYeH
1474e3b89831SGnoCiYeH    * format code
1475e3b89831SGnoCiYeH
1476e3b89831SGnoCiYeHcommit 485e2487616b1d33776b63724d4abc1ae8f506e8
1477e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1478e3b89831SGnoCiYeHDate:   Tue Oct 24 14:19:26 2023 +0800
1479e3b89831SGnoCiYeH
1480e3b89831SGnoCiYeH    修改脚本,只有当磁盘未安装Grub的时候,才执行grub-install. 节省编译时间 (#408)
1481e3b89831SGnoCiYeH
1482e3b89831SGnoCiYeHcommit 46795849a29eef77fd6f7af548d05ee6e654c5bb
1483e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1484e3b89831SGnoCiYeHDate:   Tue Oct 24 13:56:57 2023 +0800
1485e3b89831SGnoCiYeH
1486e3b89831SGnoCiYeH    修复bootstrap.sh安装顺序导致的问题 (#407)
1487e3b89831SGnoCiYeH
1488e3b89831SGnoCiYeHcommit 3c82aa56d1b784ea7371100b3e906365be8332fd
1489e3b89831SGnoCiYeHAuthor: Chiichen <39649411+Chiichen@users.noreply.github.com>
1490e3b89831SGnoCiYeHDate:   Tue Oct 24 12:02:20 2023 +0800
1491e3b89831SGnoCiYeH
1492e3b89831SGnoCiYeH    Signal refactor (#402)
1493e3b89831SGnoCiYeH
1494e3b89831SGnoCiYeH    * 初步完成对 signal_types 和 部分signal代码的初始化
1495e3b89831SGnoCiYeH
1496e3b89831SGnoCiYeH    * 重构了一部分架构相关代码进入 arch 中
1497e3b89831SGnoCiYeH
1498e3b89831SGnoCiYeH    * 基本修改完成,编译通过,后续补上系统调用
1499e3b89831SGnoCiYeH
1500e3b89831SGnoCiYeH    * signal基本完成,能实现 Sigaction 系统调用
1501e3b89831SGnoCiYeH
1502e3b89831SGnoCiYeH    * 增加了一组枚举抽象
1503e3b89831SGnoCiYeH
1504e3b89831SGnoCiYeH    * 进一步重构了一部分C风格的代码
1505e3b89831SGnoCiYeH
1506e3b89831SGnoCiYeH    * 继续重构了一部分C风格代码
1507e3b89831SGnoCiYeH
1508e3b89831SGnoCiYeH    * 继续完善了一部分逻辑
1509e3b89831SGnoCiYeH
1510e3b89831SGnoCiYeH    * 修改了部分代码逻辑
1511e3b89831SGnoCiYeH
1512e3b89831SGnoCiYeH    * 补充了 fork 中复制信号信息的逻辑
1513e3b89831SGnoCiYeH
1514e3b89831SGnoCiYeH    * 修复了 kallsysms 未转义引号的问题
1515e3b89831SGnoCiYeH
1516e3b89831SGnoCiYeH    * 修复了无法跳转到 sigreturn 的bug
1517e3b89831SGnoCiYeH
1518e3b89831SGnoCiYeH    * 调通了 signal
1519e3b89831SGnoCiYeH
1520e3b89831SGnoCiYeH    * 实现了 signal 架构抽象层的 trait
1521e3b89831SGnoCiYeH
1522e3b89831SGnoCiYeH    * 为信号提供了默认处理函数
1523e3b89831SGnoCiYeH
1524e3b89831SGnoCiYeH    * 基本完成了 signal 的大体逻辑
1525e3b89831SGnoCiYeH
1526e3b89831SGnoCiYeH    * 修复了 Sigreturn 的一个小错误,格式化
1527e3b89831SGnoCiYeH
1528e3b89831SGnoCiYeH    * 修复了一个编译器漏报错误
1529e3b89831SGnoCiYeH
1530e3b89831SGnoCiYeH    * 删除了多余的代码
1531e3b89831SGnoCiYeH
1532e3b89831SGnoCiYeH    * 修改测试程序为链接 relibc
1533e3b89831SGnoCiYeH
1534e3b89831SGnoCiYeH    * 修复了信号处理过程中浮点寄存器错误保存的问题
1535e3b89831SGnoCiYeH
1536e3b89831SGnoCiYeH    * 修复了一个结构体错误引起的无法在relibc下正确运行的错误
1537e3b89831SGnoCiYeH
1538e3b89831SGnoCiYeH    * 修复了链接 relibc 时无法正常从信号处理返回的 bug
1539e3b89831SGnoCiYeH
1540e3b89831SGnoCiYeH    * 修复了 signal 处理流程中 rsp 指针错误导致的浮点运算触发GP
1541e3b89831SGnoCiYeH
1542e3b89831SGnoCiYeH    * 修复了一个死锁问题,解决了默认处理函数无法进入调度导致的bug
1543e3b89831SGnoCiYeH
1544e3b89831SGnoCiYeH    * 修复了一些错误
1545e3b89831SGnoCiYeH
1546e3b89831SGnoCiYeH    * 修改了 relibc 依赖版本号
1547e3b89831SGnoCiYeH
1548e3b89831SGnoCiYeH    * 删除了多余的 imports
1549e3b89831SGnoCiYeH
1550e3b89831SGnoCiYeH    * 删除一些debug日志
1551e3b89831SGnoCiYeH
1552e3b89831SGnoCiYeH    * 删除内核 signal.h 文件
1553e3b89831SGnoCiYeH
1554e3b89831SGnoCiYeH    * 删除一个依赖项
1555e3b89831SGnoCiYeH
1556e3b89831SGnoCiYeH    * 删除了 binding 相关依赖项
1557e3b89831SGnoCiYeH
1558e3b89831SGnoCiYeHcommit d7f5742a206c6c25ed30009796eb8248429f0a1e
1559e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1560e3b89831SGnoCiYeHDate:   Mon Oct 23 21:40:39 2023 +0800
1561e3b89831SGnoCiYeH
1562e3b89831SGnoCiYeH    初步编写cpu信息获取的代码 (#406)
1563e3b89831SGnoCiYeH
1564e3b89831SGnoCiYeH    1. 启动时从acpi获取所有的cpu信息并存到SMP_BOOT_DATA
1565e3b89831SGnoCiYeH    2. 注册cpu subsystem/bus到sysfs(暂时未添加内容)
1566e3b89831SGnoCiYeH
1567e3b89831SGnoCiYeH    todo:
1568e3b89831SGnoCiYeH    1. build_cpu_map(在X86_64SmpManager中)
1569e3b89831SGnoCiYeH    2. 实现cpu mask
1570e3b89831SGnoCiYeH    3. 把cpu设备注册到sysfs
1571e3b89831SGnoCiYeH
1572e3b89831SGnoCiYeHcommit 7eda31b2f07c6ef41dc0d2bd13051f0fce5e5976
1573e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1574e3b89831SGnoCiYeHDate:   Sun Oct 22 22:00:16 2023 +0800
1575e3b89831SGnoCiYeH
1576e3b89831SGnoCiYeH    在Sysfs中引入ACPI Firmware (#405)
1577e3b89831SGnoCiYeH
1578e3b89831SGnoCiYeH    - bugfix: multiboot2启动的信息因为没及时转存导致后面无法从其中进行查询的bug
1579e3b89831SGnoCiYeH    - feature: 把acpi表、acpi bus加入sysfs
1580e3b89831SGnoCiYeH
1581e3b89831SGnoCiYeHcommit 01bd5258cf467326819c77584713fbc6ffe4fb32
1582e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1583e3b89831SGnoCiYeHDate:   Sun Oct 22 12:22:41 2023 +0800
1584e3b89831SGnoCiYeH
1585e3b89831SGnoCiYeH    解决shell无法输入大写字母'P'的问题 (#404)
1586e3b89831SGnoCiYeH
1587e3b89831SGnoCiYeHcommit a03c4f9dee5705207325c56629c0ccd219168f10
1588e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1589e3b89831SGnoCiYeHDate:   Fri Oct 20 22:11:33 2023 +0800
1590e3b89831SGnoCiYeH
1591e3b89831SGnoCiYeH    设备驱动模型:完善platform bus相关内容。并注册串口到sysfs (#403)
1592e3b89831SGnoCiYeH
1593e3b89831SGnoCiYeH    * 完成初始化platform bus
1594e3b89831SGnoCiYeH    * 删除旧的sysfs
1595e3b89831SGnoCiYeH    * 把uart驱动移动到tty/serial文件夹下
1596e3b89831SGnoCiYeH    * 完成将串口挂载到sysfs
1597e3b89831SGnoCiYeH    * 修复vfs系统调用未能follow symlink的问题
1598e3b89831SGnoCiYeH    * 修复shell未能正确获取pwd的问题
1599e3b89831SGnoCiYeH
1600e3b89831SGnoCiYeHcommit 06d5e247267cb65b84a80f219853ccd0f384b16e
1601e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1602e3b89831SGnoCiYeHDate:   Wed Oct 11 00:53:15 2023 +0800
1603e3b89831SGnoCiYeH
1604e3b89831SGnoCiYeH    完善设备驱动模型,基于kset、kobj来维护对象之间的关系 (#401)
1605e3b89831SGnoCiYeH
1606e3b89831SGnoCiYeH    * 使用kobj和kset管理/sys文件夹下的对象
1607e3b89831SGnoCiYeH
1608e3b89831SGnoCiYeH    * 修改notifier,把action从u64换为泛型。
1609e3b89831SGnoCiYeH
1610e3b89831SGnoCiYeH    * 完善设备驱动模型,基于kset、kobj来维护对象之间的关系
1611e3b89831SGnoCiYeH
1612e3b89831SGnoCiYeHcommit 6abb8bd7c0ee7746f0b6cf682a0c4d112a2ef6a3
1613e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1614e3b89831SGnoCiYeHDate:   Mon Oct 9 01:55:58 2023 +0800
1615e3b89831SGnoCiYeH
1616e3b89831SGnoCiYeH    在github workflow的工具链配置文件里面添加rust-src组件 (#400)
1617e3b89831SGnoCiYeH
1618e3b89831SGnoCiYeHcommit 9e9ffedfc59cd89f4cdbd7984abbb2ac19ea9575
1619e3b89831SGnoCiYeHAuthor: Plucky923 <107762234+Plucky923@users.noreply.github.com>
1620e3b89831SGnoCiYeHDate:   Mon Oct 9 01:11:14 2023 +0800
1621e3b89831SGnoCiYeH
1622e3b89831SGnoCiYeH    syscall: 完善syscall代码 (#387)
1623e3b89831SGnoCiYeH
1624e3b89831SGnoCiYeH    * syscall: 完善syscall代码
1625e3b89831SGnoCiYeH
1626e3b89831SGnoCiYeH    修改代码使这段代码可以使用语法糖。修改SYS_READ和SYS_WRITE的安全检查为userbuffer
1627e3b89831SGnoCiYeH
1628e3b89831SGnoCiYeH    Signed-off-by: plucky <m202372036@hust.edu.cn>
1629e3b89831SGnoCiYeH
1630e3b89831SGnoCiYeH    * syscall: 修改SYS_READ和SYS_WRITE的权限检查为userbuffer
1631e3b89831SGnoCiYeH
1632e3b89831SGnoCiYeH    Signed-off-by: plucky <m202372036@hust.edu.cn>
1633e3b89831SGnoCiYeH
1634e3b89831SGnoCiYeH    * syscall: 有不知道如何修改的错误
1635e3b89831SGnoCiYeH
1636e3b89831SGnoCiYeH    Signed-off-by: plucky <m202372036@hust.edu.cn>
1637e3b89831SGnoCiYeH
1638e3b89831SGnoCiYeH    * syscall: 修改SYS_READ和SYS_WRITE并编译通过
1639e3b89831SGnoCiYeH
1640e3b89831SGnoCiYeH    Signed-off-by: plucky <m202372036@hust.edu.cn>
1641e3b89831SGnoCiYeH
1642e3b89831SGnoCiYeHcommit 865f4ba4cdce23b154844d6d297f75033f3dcf70
1643e3b89831SGnoCiYeHAuthor: GnoCiYeH <heyicong@dragonos.org>
1644e3b89831SGnoCiYeHDate:   Mon Oct 9 01:10:14 2023 +0800
1645e3b89831SGnoCiYeH
1646e3b89831SGnoCiYeH    修改shell执行exec时传参错误问题 (#399)
1647e3b89831SGnoCiYeH
1648e3b89831SGnoCiYeH    * 修改shell执行exec时传参错误问题
1649e3b89831SGnoCiYeH
1650e3b89831SGnoCiYeHcommit b7b843beddea12cdedda90f6129b7c9980876112
1651e3b89831SGnoCiYeHAuthor: GnoCiYeH <heyicong@dragonos.org>
1652e3b89831SGnoCiYeHDate:   Mon Oct 9 00:58:08 2023 +0800
1653e3b89831SGnoCiYeH
1654e3b89831SGnoCiYeH    wait4系统调用支持options字段 (#398)
1655e3b89831SGnoCiYeH
1656e3b89831SGnoCiYeHcommit 2dbef7859f0af395ccec348f17cf0b79ed56e003
1657e3b89831SGnoCiYeHAuthor: GnoCiYeH <heyicong@dragonos.org>
1658e3b89831SGnoCiYeHDate:   Mon Oct 9 00:28:08 2023 +0800
1659e3b89831SGnoCiYeH
1660e3b89831SGnoCiYeH    命名管道系统调用以及文件系统兼容特殊文件类型的接口 (#397)
1661e3b89831SGnoCiYeH
1662e3b89831SGnoCiYeH    * 修复pipe2在读端或写端关闭后还阻塞问题。
1663e3b89831SGnoCiYeH
1664e3b89831SGnoCiYeH    * 实现命名管道机制,增加特殊文件类型兼容普通文件系统的接口。
1665e3b89831SGnoCiYeH
1666e3b89831SGnoCiYeH    * 普通文件系统能够适配特殊文件(命名管道等)
1667e3b89831SGnoCiYeH
1668e3b89831SGnoCiYeHcommit 34e6d6c80f36494088db3284f85d1a2c63aa18a8
1669e3b89831SGnoCiYeHAuthor: yuyi2439 <68320855+yuyi2439@users.noreply.github.com>
1670e3b89831SGnoCiYeHDate:   Sun Oct 8 14:26:17 2023 +0800
1671e3b89831SGnoCiYeH
1672e3b89831SGnoCiYeH    实现free指令+修复 mountfs的内存泄露问题(#394)
1673e3b89831SGnoCiYeH
1674e3b89831SGnoCiYeH    * 实现meminfo文件
1675e3b89831SGnoCiYeH
1676e3b89831SGnoCiYeH    * 成功实现free指令,添加了一些string有关函数,并进行一些无影响的小改动
1677e3b89831SGnoCiYeH
1678e3b89831SGnoCiYeH
1679e3b89831SGnoCiYeH    * 解决内存泄露的问题:mountfs inode的wrap方法使用了Arc::into_raw而没有from_raw,导致inode始终无法释放
1680e3b89831SGnoCiYeH
1681e3b89831SGnoCiYeH    ---------
1682e3b89831SGnoCiYeH
1683e3b89831SGnoCiYeH    Co-authored-by: LoGin <longjin@DragonOS.org>
1684e3b89831SGnoCiYeH    Co-authored-by: longjin <longjin@RinGoTek.cn>
1685e3b89831SGnoCiYeH
1686e3b89831SGnoCiYeHcommit afc95d5c2541c27c762091ad38fdffabe355db5a
1687e3b89831SGnoCiYeHAuthor: YJwu2023 <yujianwu2019@gmail.com>
1688e3b89831SGnoCiYeHDate:   Tue Oct 3 12:09:29 2023 +0800
1689e3b89831SGnoCiYeH
1690e3b89831SGnoCiYeH    完善pci中断的设计 (#392)
1691e3b89831SGnoCiYeH
1692e3b89831SGnoCiYeH    * 完善pci中断的设计
1693e3b89831SGnoCiYeH
1694e3b89831SGnoCiYeHcommit 876cb89ecf7c1bf1646bfc392efcbafacad2262f
1695e3b89831SGnoCiYeHAuthor: GnoCiYeH <heyicong@dragonos.org>
1696e3b89831SGnoCiYeHDate:   Tue Oct 3 12:03:34 2023 +0800
1697e3b89831SGnoCiYeH
1698e3b89831SGnoCiYeH    修复pipe2在读端或写端关闭后还阻塞问题 (#396)
1699e3b89831SGnoCiYeH
1700e3b89831SGnoCiYeH    * 修复pipe2在读端或写端关闭后还阻塞问题。
1701e3b89831SGnoCiYeH
1702e3b89831SGnoCiYeH    * update
1703e3b89831SGnoCiYeH
1704e3b89831SGnoCiYeH    * update
1705e3b89831SGnoCiYeH
1706e3b89831SGnoCiYeH    * 修改cloexec
1707e3b89831SGnoCiYeH
1708e3b89831SGnoCiYeH    ---------
1709e3b89831SGnoCiYeH
1710e3b89831SGnoCiYeH    Co-authored-by: longjin <longjin@RinGoTek.cn>
1711e3b89831SGnoCiYeH
1712e3b89831SGnoCiYeHcommit fba5623183378da6b120caafca120615328efa2e
1713e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1714e3b89831SGnoCiYeHDate:   Mon Oct 2 20:46:19 2023 +0800
1715e3b89831SGnoCiYeH
1716e3b89831SGnoCiYeH    引入intertrait库,支持trait之间的互相转换 (#395)
1717e3b89831SGnoCiYeH
1718e3b89831SGnoCiYeH    * 能过编译(test还没法跑)
1719e3b89831SGnoCiYeH
1720e3b89831SGnoCiYeH    * 初始化intertrait转换库
1721e3b89831SGnoCiYeH
1722e3b89831SGnoCiYeH    * update license of intertrait
1723e3b89831SGnoCiYeH
1724e3b89831SGnoCiYeHcommit bb0e4d4131046a69bbccdc0cdf1d5db51a2c6126
1725e3b89831SGnoCiYeHAuthor: GnoCiYeH <heyicong@dragonos.org>
1726e3b89831SGnoCiYeHDate:   Sat Sep 30 16:36:06 2023 +0800
1727e3b89831SGnoCiYeH
1728e3b89831SGnoCiYeH    使用DragonReach启动shell,修改getdents (#391)
1729e3b89831SGnoCiYeH
1730e3b89831SGnoCiYeH    * 使用DragonReach启动shell,修改getdents
1731e3b89831SGnoCiYeH
1732e3b89831SGnoCiYeH    * 更改关闭pipe时断言报错问题,以及DragonReach启动shell阶段版本
1733e3b89831SGnoCiYeH
1734e3b89831SGnoCiYeH    * 修改目录结构
1735e3b89831SGnoCiYeH
1736e3b89831SGnoCiYeH    * update
1737e3b89831SGnoCiYeH
1738e3b89831SGnoCiYeH    * 解决小问题
1739e3b89831SGnoCiYeH
1740e3b89831SGnoCiYeH    * 调整dragon reach版本号
1741e3b89831SGnoCiYeH
1742e3b89831SGnoCiYeH    * 设置make clean的时候不清空应用程序的缓存。
1743e3b89831SGnoCiYeH    指定relibc版本号
1744e3b89831SGnoCiYeH
1745e3b89831SGnoCiYeH    ---------
1746e3b89831SGnoCiYeH
1747e3b89831SGnoCiYeH    Co-authored-by: longjin <longjin@RinGoTek.cn>
1748e3b89831SGnoCiYeH
1749e3b89831SGnoCiYeHcommit 0dd8ff43325b494ea777dbe6e552fdc77b9dabc8
1750e3b89831SGnoCiYeHAuthor: YJwu2023 <yujianwu2019@gmail.com>
1751e3b89831SGnoCiYeHDate:   Thu Sep 21 23:23:57 2023 +0800
1752e3b89831SGnoCiYeH
1753e3b89831SGnoCiYeH    添加中断 (#370)
1754e3b89831SGnoCiYeH
1755e3b89831SGnoCiYeH    * 添加中断
1756e3b89831SGnoCiYeH
1757e3b89831SGnoCiYeH    * dhcp更改为全局socketset
1758e3b89831SGnoCiYeH
1759e3b89831SGnoCiYeH    * 解决异常中断的问题,使得能够使用中断来处理网卡数据
1760e3b89831SGnoCiYeH
1761e3b89831SGnoCiYeH    ---------
1762e3b89831SGnoCiYeH
1763e3b89831SGnoCiYeH    Co-authored-by: longjin <longjin@RinGoTek.cn>
1764e3b89831SGnoCiYeH
1765e3b89831SGnoCiYeHcommit 6b4e7a2972cc06663754c0e35a0e541987006fa4
1766e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1767e3b89831SGnoCiYeHDate:   Tue Sep 19 19:46:59 2023 +0800
1768e3b89831SGnoCiYeH
1769e3b89831SGnoCiYeH    增加kernfs (#386)
1770e3b89831SGnoCiYeH
1771e3b89831SGnoCiYeH    * 增加kernfs
1772e3b89831SGnoCiYeH
1773e3b89831SGnoCiYeH    * kernfs文档
1774e3b89831SGnoCiYeH
1775e3b89831SGnoCiYeHcommit ae5ede03bebe5c4b593ad7a350f0945f1367be7c
1776e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1777e3b89831SGnoCiYeHDate:   Mon Sep 18 07:38:04 2023 +0800
1778e3b89831SGnoCiYeH
1779e3b89831SGnoCiYeH    bugfix: bus/device manager对卸载逻辑的处理错误 (#385)
1780e3b89831SGnoCiYeH
1781e3b89831SGnoCiYeH    * 移动位置
1782e3b89831SGnoCiYeH
1783e3b89831SGnoCiYeH    * bugfix: bus/device manager对卸载逻辑的处理错误
1784e3b89831SGnoCiYeH
1785e3b89831SGnoCiYeHcommit 7ae679ddd6481897a86523a52fad3b060254fa5b
1786e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1787e3b89831SGnoCiYeHDate:   Sun Sep 17 15:41:01 2023 +0800
1788e3b89831SGnoCiYeH
1789e3b89831SGnoCiYeH    ahci内存越界问题修复+ mm的bug修复+在rust中解析acpi table (#384)
1790e3b89831SGnoCiYeH
1791e3b89831SGnoCiYeH    * bugfix: 修复了Flusher Drop的时候没有自动刷新TLB的bug
1792e3b89831SGnoCiYeH
1793e3b89831SGnoCiYeH    * 解决进程管理未初始化时,trap.c尝试打印pid导致错误的问题
1794e3b89831SGnoCiYeH
1795e3b89831SGnoCiYeH    * 设置kmalloc默认强制清0
1796e3b89831SGnoCiYeH
1797e3b89831SGnoCiYeH    * 修复ahci驱动的内存越界问题
1798e3b89831SGnoCiYeH    * 修复mmio buddy忘记归还buddy block的问题
1799e3b89831SGnoCiYeH    * 新增acpi模块,暂时能解析acpi tables
1800e3b89831SGnoCiYeH
1801e3b89831SGnoCiYeHcommit 11110997465e858757da54b5ce28d7c22690aaff
1802e3b89831SGnoCiYeHAuthor: hanjiezhou <zhouhanjie@dragonos.org>
1803e3b89831SGnoCiYeHDate:   Sat Sep 16 20:14:56 2023 +0800
1804e3b89831SGnoCiYeH
1805e3b89831SGnoCiYeH    修改 tty 中resize bug (#383)
1806e3b89831SGnoCiYeH
1807e3b89831SGnoCiYeHcommit 71474bc6829b3cd831df7ce24ea059557996524d
1808e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1809e3b89831SGnoCiYeHDate:   Sat Sep 16 16:16:43 2023 +0800
1810e3b89831SGnoCiYeH
1811e3b89831SGnoCiYeH    修复drop fd时,文件描述符引用不为0的问题 (#382)
1812e3b89831SGnoCiYeH
1813e3b89831SGnoCiYeHcommit de71ec259cd21c782f4031b01635eb8ad3df1943
1814e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1815e3b89831SGnoCiYeHDate:   Fri Sep 15 19:44:11 2023 +0800
1816e3b89831SGnoCiYeH
1817e3b89831SGnoCiYeH    修正由于init proc union导致的无法运行的问题 && 修正由于内核线程启动后默认sleep的行为导致init进程无法正常运行的bug (#381)
1818e3b89831SGnoCiYeH
1819e3b89831SGnoCiYeH    1. 修正由于init proc union导致的无法运行的问题
1820e3b89831SGnoCiYeH    2. 修正由于内核线程启动后默认sleep的行为导致init进程无法正常运行的bug
1821e3b89831SGnoCiYeH
1822e3b89831SGnoCiYeHcommit 1496ba7b24a5e6954291ca9643b9f3cec567479a
1823e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
1824e3b89831SGnoCiYeHDate:   Fri Sep 15 14:58:19 2023 +0800
1825e3b89831SGnoCiYeH
1826e3b89831SGnoCiYeH    进程管理模块重构完成 (#380)
1827e3b89831SGnoCiYeH
1828e3b89831SGnoCiYeH    * 添加新版pcb的数据结构 (#273)
1829e3b89831SGnoCiYeH
1830e3b89831SGnoCiYeH    * 将pcb中的内容分类,分别加锁 (#305)
1831e3b89831SGnoCiYeH
1832e3b89831SGnoCiYeH    * 进程管理重构:完成fork的主体逻辑 (#309)
1833e3b89831SGnoCiYeH
1834e3b89831SGnoCiYeH    1.完成fork的主体逻辑
1835e3b89831SGnoCiYeH    2.将文件系统接到新的pcb上
1836e3b89831SGnoCiYeH    3.经过思考,暂时弃用signal机制,待进程管理重构完成后,重写signal机制.原因是原本的signal机制太烂了
1837e3b89831SGnoCiYeH
1838e3b89831SGnoCiYeH    * chdir getcwd pid pgid ppid (#310)
1839e3b89831SGnoCiYeH
1840e3b89831SGnoCiYeH
1841e3b89831SGnoCiYeH    ---------
1842e3b89831SGnoCiYeH
1843e3b89831SGnoCiYeH    Co-authored-by: longjin <longjin@RinGoTek.cn>
1844e3b89831SGnoCiYeH
1845e3b89831SGnoCiYeH    * 删除旧的fork以及signal的代码,并调整fork/vfork/execve系统调用 (#325)
1846e3b89831SGnoCiYeH
1847e3b89831SGnoCiYeH    1.删除旧的fork
1848e3b89831SGnoCiYeH    2.删除signal相关代码,等进程管理重构结束之后,再重新写.
1849e3b89831SGnoCiYeH    3.调整了fork/vfork/execve系统调用
1850e3b89831SGnoCiYeH
1851e3b89831SGnoCiYeH    * 实现切换进程的代码 (#331)
1852e3b89831SGnoCiYeH
1853e3b89831SGnoCiYeH
1854e3b89831SGnoCiYeH
1855e3b89831SGnoCiYeH    * 实现切换进程的代码
1856e3b89831SGnoCiYeH
1857e3b89831SGnoCiYeH    * Patch modify preempt (#332)
1858e3b89831SGnoCiYeH
1859e3b89831SGnoCiYeH    * 修改设置preempt的代码
1860e3b89831SGnoCiYeH
1861e3b89831SGnoCiYeH    * 删除rust的list和refcount
1862e3b89831SGnoCiYeH
1863e3b89831SGnoCiYeH    * 为每个核心初始化idle进程 (#333)
1864e3b89831SGnoCiYeH
1865e3b89831SGnoCiYeH    * 为每个核心初始化idle进程
1866e3b89831SGnoCiYeH
1867e3b89831SGnoCiYeH    * 完成了新的内核线程机制 (#335)
1868e3b89831SGnoCiYeH
1869e3b89831SGnoCiYeH    * 调度器的pcb替换为新的Arc<ProcessControlBlock>,把调度器队列锁从 RwSpinLock 替换为了 SpinLock (#336)
1870e3b89831SGnoCiYeH
1871e3b89831SGnoCiYeH    * 把调度器的pcb替换为新的Arc<ProcessControlBlock>
1872e3b89831SGnoCiYeH
1873e3b89831SGnoCiYeH    * 把调度器队列锁从 RwSpinLock 替换为了 SpinLock ,修改了签名以通过编译
1874e3b89831SGnoCiYeH
1875e3b89831SGnoCiYeH    * 修正一些双重加锁、细节问题
1876e3b89831SGnoCiYeH
1877e3b89831SGnoCiYeH    ---------
1878e3b89831SGnoCiYeH
1879e3b89831SGnoCiYeH    Co-authored-by: longjin <longjin@RinGoTek.cn>
1880e3b89831SGnoCiYeH
1881e3b89831SGnoCiYeH    * github workflow自动检查代码是否格式化
1882e3b89831SGnoCiYeH
1883e3b89831SGnoCiYeH    * cache toolchain yml
1884e3b89831SGnoCiYeH
1885e3b89831SGnoCiYeH    * 调整rust版本的waitqueue中的pcb为新版的pcb (#343)
1886e3b89831SGnoCiYeH
1887e3b89831SGnoCiYeH    * 解决设置rust workspace带来的“工具链不一致”的问题 (#344)
1888e3b89831SGnoCiYeH
1889e3b89831SGnoCiYeH
1890e3b89831SGnoCiYeH    * 解决设置rust workspace带来的“工具链不一致”的问题
1891e3b89831SGnoCiYeH
1892e3b89831SGnoCiYeH    更改workflow
1893e3b89831SGnoCiYeH
1894e3b89831SGnoCiYeH    * 调整pcb的sched_info和rwlock,以避免调度器死锁问题 (#341)
1895e3b89831SGnoCiYeH
1896e3b89831SGnoCiYeH    * 调整pcb的sched_info和rwlock,以避免调度器死锁问题
1897e3b89831SGnoCiYeH
1898e3b89831SGnoCiYeH    * 修改为在 WriterGuard 中维护 Irq_guard
1899e3b89831SGnoCiYeH
1900e3b89831SGnoCiYeH    * 修正了 write_irqsave方法
1901e3b89831SGnoCiYeH
1902e3b89831SGnoCiYeH    * 优化了代码
1903e3b89831SGnoCiYeH
1904e3b89831SGnoCiYeH    * 把 set state 操作从 wakup 移动到 sched_enqueue 中
1905e3b89831SGnoCiYeH
1906e3b89831SGnoCiYeH    * 修正为在 wakeup 中设置 running ,以保留 set_state 的私有性
1907e3b89831SGnoCiYeH
1908e3b89831SGnoCiYeH    * 移除了 process_wakeup
1909e3b89831SGnoCiYeH
1910e3b89831SGnoCiYeH    * 实现进程退出的逻辑 (#340)
1911e3b89831SGnoCiYeH
1912e3b89831SGnoCiYeH    实现进程退出的逻辑
1913e3b89831SGnoCiYeH
1914e3b89831SGnoCiYeH    * 标志进程sleep
1915e3b89831SGnoCiYeH
1916e3b89831SGnoCiYeH    * 修复wakeup的问题
1917e3b89831SGnoCiYeH
1918e3b89831SGnoCiYeH    ---------
1919e3b89831SGnoCiYeH
1920e3b89831SGnoCiYeH    Co-authored-by: longjin <longjin@RinGoTek.cn>
1921e3b89831SGnoCiYeH
1922e3b89831SGnoCiYeH    * rust 重构 completion (#350)
1923e3b89831SGnoCiYeH
1924e3b89831SGnoCiYeH    * 完成了completion的基本结构,待完善上级调用
1925e3b89831SGnoCiYeH
1926e3b89831SGnoCiYeH    * 用SpinLock保护结构体并发安全
1927e3b89831SGnoCiYeH
1928e3b89831SGnoCiYeH    * 修改原子变量为u32,修复符号错误
1929e3b89831SGnoCiYeH
1930e3b89831SGnoCiYeH    * irq guard
1931e3b89831SGnoCiYeH
1932e3b89831SGnoCiYeH    * 修改为具有内部可变性的结构体
1933e3b89831SGnoCiYeH
1934e3b89831SGnoCiYeH    * temp fix
1935e3b89831SGnoCiYeH
1936e3b89831SGnoCiYeH    * 修复了由于进程持有自旋锁导致的不被调度的问题
1937e3b89831SGnoCiYeH
1938e3b89831SGnoCiYeH    * 对 complete 系列方法上锁,保护 done 数据并发安全
1939e3b89831SGnoCiYeH
1940e3b89831SGnoCiYeH    * 移除了未使用的依赖
1941e3b89831SGnoCiYeH
1942e3b89831SGnoCiYeH    * 重写显示刷新驱动 (#363)
1943e3b89831SGnoCiYeH
1944e3b89831SGnoCiYeH    * 重构显示刷新驱动
1945e3b89831SGnoCiYeH
1946e3b89831SGnoCiYeH    * Patch refactor process management (#366)
1947e3b89831SGnoCiYeH
1948e3b89831SGnoCiYeH    * 维护进程树
1949e3b89831SGnoCiYeH
1950e3b89831SGnoCiYeH    * 维护进程树
1951e3b89831SGnoCiYeH
1952e3b89831SGnoCiYeH    * 更改代码结构
1953e3b89831SGnoCiYeH
1954e3b89831SGnoCiYeH    * 新建进程时,设置cwd
1955e3b89831SGnoCiYeH
1956e3b89831SGnoCiYeH    * 调整adopt childern函数,降低开销
1957e3b89831SGnoCiYeH
1958e3b89831SGnoCiYeH    ---------
1959e3b89831SGnoCiYeH
1960e3b89831SGnoCiYeH    Co-authored-by: longjin <longjin@RinGoTek.cn>
1961e3b89831SGnoCiYeH
1962e3b89831SGnoCiYeH    * waitqueue兼容C部分 (#351)
1963e3b89831SGnoCiYeH
1964e3b89831SGnoCiYeH    * PATH
1965e3b89831SGnoCiYeH
1966e3b89831SGnoCiYeH    * safe init
1967e3b89831SGnoCiYeH
1968e3b89831SGnoCiYeH    * waitqueue兼容C部分
1969e3b89831SGnoCiYeH
1970e3b89831SGnoCiYeH    * waitqueue兼容C部分
1971e3b89831SGnoCiYeH
1972e3b89831SGnoCiYeH    * 删除semaphore.c,在ps2_keyboard中使用waitqueue
1973e3b89831SGnoCiYeH
1974e3b89831SGnoCiYeH    * 删除semaphore.c,在ps2_keyboard中使用waitqueue
1975e3b89831SGnoCiYeH
1976e3b89831SGnoCiYeH    * current_pcb的C兼容
1977e3b89831SGnoCiYeH
1978e3b89831SGnoCiYeH    * current_pcb的C兼容
1979e3b89831SGnoCiYeH
1980e3b89831SGnoCiYeH    * current_pcb的C兼容
1981e3b89831SGnoCiYeH
1982e3b89831SGnoCiYeH    * fmt
1983e3b89831SGnoCiYeH
1984e3b89831SGnoCiYeH    * current_pcb的兼容
1985e3b89831SGnoCiYeH
1986e3b89831SGnoCiYeH    * 针对修改
1987e3b89831SGnoCiYeH
1988e3b89831SGnoCiYeH    * 调整代码
1989e3b89831SGnoCiYeH
1990e3b89831SGnoCiYeH    * fmt
1991e3b89831SGnoCiYeH
1992e3b89831SGnoCiYeH    * 删除pcb的set flags
1993e3b89831SGnoCiYeH
1994e3b89831SGnoCiYeH    * 更改函数名
1995e3b89831SGnoCiYeH
1996e3b89831SGnoCiYeH    ---------
1997e3b89831SGnoCiYeH
1998e3b89831SGnoCiYeH    Co-authored-by: longjin <longjin@RinGoTek.cn>
1999e3b89831SGnoCiYeH
2000e3b89831SGnoCiYeH    * merge master
2001e3b89831SGnoCiYeH
2002e3b89831SGnoCiYeH    * Patch debug process management refactor (#372)
2003e3b89831SGnoCiYeH
2004e3b89831SGnoCiYeH    * 能够调通,执行完textui_init
2005e3b89831SGnoCiYeH
2006e3b89831SGnoCiYeH    * 能跑到initial kernel thread
2007e3b89831SGnoCiYeH
2008e3b89831SGnoCiYeH    * fmt
2009e3b89831SGnoCiYeH
2010e3b89831SGnoCiYeH    * 能够正常初始化所有服务(尚未能切换到用户程序)
2011e3b89831SGnoCiYeH
2012e3b89831SGnoCiYeH    * 删除部分无用的extern
2013e3b89831SGnoCiYeH
2014e3b89831SGnoCiYeH    * 存在问题:ap处理器启动后,bsp的smp_init函数return之后就出错了,怀疑是栈损坏
2015e3b89831SGnoCiYeH
2016e3b89831SGnoCiYeH    * 解决smp启动由于未换栈导致的内存访问错误
2017e3b89831SGnoCiYeH
2018e3b89831SGnoCiYeH    * debug
2019e3b89831SGnoCiYeH
2020e3b89831SGnoCiYeH    * 1
2021e3b89831SGnoCiYeH
2022e3b89831SGnoCiYeH    * 1
2023e3b89831SGnoCiYeH
2024e3b89831SGnoCiYeH    * lock no preempt
2025e3b89831SGnoCiYeH
2026e3b89831SGnoCiYeH    * 调通
2027e3b89831SGnoCiYeH
2028e3b89831SGnoCiYeH    * 优化代码,删除一些调试日志
2029e3b89831SGnoCiYeH
2030e3b89831SGnoCiYeH    * fix
2031e3b89831SGnoCiYeH
2032e3b89831SGnoCiYeH    * 使用rust重写wait4 (#377)
2033e3b89831SGnoCiYeH
2034e3b89831SGnoCiYeH    * 维护进程树
2035e3b89831SGnoCiYeH
2036e3b89831SGnoCiYeH    * 维护进程树
2037e3b89831SGnoCiYeH
2038e3b89831SGnoCiYeH    * 更改代码结构
2039e3b89831SGnoCiYeH
2040e3b89831SGnoCiYeH    * 新建进程时,设置cwd
2041e3b89831SGnoCiYeH
2042e3b89831SGnoCiYeH    * 调整adopt childern函数,降低开销
2043e3b89831SGnoCiYeH
2044e3b89831SGnoCiYeH    * wait4
2045e3b89831SGnoCiYeH
2046e3b89831SGnoCiYeH    * 删除c_sys_wait4
2047e3b89831SGnoCiYeH
2048e3b89831SGnoCiYeH    * 使用userbuffer保护裸指针
2049e3b89831SGnoCiYeH
2050e3b89831SGnoCiYeH    ---------
2051e3b89831SGnoCiYeH
2052e3b89831SGnoCiYeH    Co-authored-by: longjin <longjin@RinGoTek.cn>
2053e3b89831SGnoCiYeH
2054e3b89831SGnoCiYeH    * 消除warning
2055e3b89831SGnoCiYeH
2056e3b89831SGnoCiYeH    * 1. 修正未设置cpu executing的问题
2057e3b89831SGnoCiYeH
2058e3b89831SGnoCiYeH    * 修正kthread机制可能存在的内存泄露问题
2059e3b89831SGnoCiYeH
2060e3b89831SGnoCiYeH    * 删除pcb文档
2061e3b89831SGnoCiYeH
2062e3b89831SGnoCiYeH    * 删除C的tss struct
2063e3b89831SGnoCiYeH
2064e3b89831SGnoCiYeH    ---------
2065e3b89831SGnoCiYeH
2066e3b89831SGnoCiYeH    Co-authored-by: Bullet <93781792+GP-Bullet@users.noreply.github.com>
2067e3b89831SGnoCiYeH    Co-authored-by: Chiichen <39649411+Chiichen@users.noreply.github.com>
2068e3b89831SGnoCiYeH    Co-authored-by: hanjiezhou <zhouhanjie@dragonos.org>
2069e3b89831SGnoCiYeH    Co-authored-by: GnoCiYeH <118462160+GnoCiYeH@users.noreply.github.com>
2070e3b89831SGnoCiYeH    Co-authored-by: houmkh <1119644616@qq.com>
2071e3b89831SGnoCiYeH
2072e3b89831SGnoCiYeHcommit b087521e07f601b30e3d48df788fcc2f09f19566
2073e3b89831SGnoCiYeHAuthor: Chiichen <39649411+Chiichen@users.noreply.github.com>
2074e3b89831SGnoCiYeHDate:   Wed Sep 13 18:01:52 2023 +0800
2075e3b89831SGnoCiYeH
2076e3b89831SGnoCiYeH    完善设备驱动模型&调试串口驱动 (#379)
2077e3b89831SGnoCiYeH
2078e3b89831SGnoCiYeH    * 完成了基本架构重构,正在进行兼容
2079e3b89831SGnoCiYeH
2080e3b89831SGnoCiYeH    * 重构了所有 Device Driver ,还没有接上具体设备
2081e3b89831SGnoCiYeH
2082e3b89831SGnoCiYeH    * 基本把 Uart 接上了,还没有测试
2083e3b89831SGnoCiYeH
2084e3b89831SGnoCiYeH    * 初步完成系统设备初始化
2085e3b89831SGnoCiYeH
2086e3b89831SGnoCiYeH    * 初步重构 BlockDevice ,使其兼容新的 Device 结构
2087e3b89831SGnoCiYeH
2088e3b89831SGnoCiYeH    * 修改文件系统内的部分函数调用以满足重构后的接口
2089e3b89831SGnoCiYeH
2090e3b89831SGnoCiYeH    * 测试完 Uart 设备的功能
2091e3b89831SGnoCiYeH
2092e3b89831SGnoCiYeH    * 移除了自动添加的文件
2093e3b89831SGnoCiYeH
2094e3b89831SGnoCiYeH    * 修复了 warning 和部分格式
2095e3b89831SGnoCiYeH
2096e3b89831SGnoCiYeH    * 解决warning,并且修正sysfs初始化的位置
2097e3b89831SGnoCiYeH
2098e3b89831SGnoCiYeH    * Patch fix
2099e3b89831SGnoCiYeH
2100e3b89831SGnoCiYeH    * 删除了 sysinfo 的默认实现
2101e3b89831SGnoCiYeH
2102e3b89831SGnoCiYeH    * 删除了字符设备读写的 offset 参数
2103e3b89831SGnoCiYeH
2104e3b89831SGnoCiYeH    * 修复了 warning 和一些小逻辑错误
2105e3b89831SGnoCiYeH
2106e3b89831SGnoCiYeH    ---------
2107e3b89831SGnoCiYeH
2108e3b89831SGnoCiYeH    Co-authored-by: longjin <longjin@RinGoTek.cn>
2109e3b89831SGnoCiYeH
2110e3b89831SGnoCiYeHcommit 9029414af2089cbe7d2d2097be2e116c09beb6dd
2111e3b89831SGnoCiYeHAuthor: zhaoyao73 <zhaoyao73@users.noreply.github.com>
2112e3b89831SGnoCiYeHDate:   Wed Sep 13 01:49:03 2023 -0400
2113e3b89831SGnoCiYeH
2114e3b89831SGnoCiYeH    use demangled names (#375)
2115e3b89831SGnoCiYeH
2116e3b89831SGnoCiYeH    there is no change for c symbols
2117e3b89831SGnoCiYeH      rust symbols name will be more readable
2118e3b89831SGnoCiYeH
2119e3b89831SGnoCiYeHcommit 22c9db312a5f02b48a1bf7853dc53434da65e28a
2120e3b89831SGnoCiYeHAuthor: hanjiezhou <zhouhanjie@dragonos.org>
2121e3b89831SGnoCiYeHDate:   Wed Sep 13 00:58:01 2023 +0800
2122e3b89831SGnoCiYeH
2123e3b89831SGnoCiYeH    Patch pipe2 (#364)
2124e3b89831SGnoCiYeH
2125e3b89831SGnoCiYeHcommit 68312d3c68b9df288589f9636417745d46520ad2
2126e3b89831SGnoCiYeHAuthor: Xshine <gshine@m.scnu.edu.cn>
2127e3b89831SGnoCiYeHDate:   Wed Sep 13 00:26:41 2023 +0800
2128e3b89831SGnoCiYeH
2129e3b89831SGnoCiYeH    修正造成 http server 的错误 (#378)
2130e3b89831SGnoCiYeH
2131e3b89831SGnoCiYeH    * 修正造成 http server 的错误
2132e3b89831SGnoCiYeH
2133e3b89831SGnoCiYeHcommit 285de542f3ddb09bfdcad0a7022bd722f4f1cace
2134e3b89831SGnoCiYeHAuthor: zhaoyao73 <zhaoyao73@users.noreply.github.com>
2135e3b89831SGnoCiYeHDate:   Wed Sep 6 06:08:52 2023 -0400
2136e3b89831SGnoCiYeH
2137e3b89831SGnoCiYeH    modify kernel link script (#373)
2138e3b89831SGnoCiYeH
2139e3b89831SGnoCiYeH    put rust text between _text and _etext, so rust symbols are included in
2140e3b89831SGnoCiYeH    kallsyms, traceback could use them.
2141e3b89831SGnoCiYeH
2142e3b89831SGnoCiYeH    modify grub_auto_install.sh to add arch linux support
2143e3b89831SGnoCiYeH
2144e3b89831SGnoCiYeHcommit 3b0bf43bbb196a74a64cee8ecd2d4eb884c5e9ee
2145e3b89831SGnoCiYeHAuthor: zhaoyao73 <zhaoyao73@users.noreply.github.com>
2146e3b89831SGnoCiYeHDate:   Mon Sep 4 00:57:52 2023 -0400
2147e3b89831SGnoCiYeH
2148e3b89831SGnoCiYeH    fix compiler warnings in pci_irq.c (#371)
2149e3b89831SGnoCiYeH
2150e3b89831SGnoCiYeH    Co-authored-by: Yao Zhao <dragonlinux@gmail.com>
2151e3b89831SGnoCiYeH
2152e3b89831SGnoCiYeHcommit 607783d7414735d1dc54afb0c7346ed8e13303a2
2153e3b89831SGnoCiYeHAuthor: zhaoyao73 <zhaoyao73@users.noreply.github.com>
2154e3b89831SGnoCiYeHDate:   Sun Sep 3 01:36:02 2023 -0400
2155e3b89831SGnoCiYeH
2156e3b89831SGnoCiYeH    fix pci_irq.c - memory leak - wrong irq_name allocated length (#367)
2157e3b89831SGnoCiYeH
2158e3b89831SGnoCiYeH    add function declaration to avoid compiling warning
2159e3b89831SGnoCiYeH
2160e3b89831SGnoCiYeH    add extra packages need for build
2161e3b89831SGnoCiYeH
2162e3b89831SGnoCiYeH    Co-authored-by: Yao Zhao <dragonlinux@gmail.com>
2163e3b89831SGnoCiYeH
2164e3b89831SGnoCiYeHcommit d9113303d8e1d449a122f7a5f66453fbe7c26a46
2165e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
2166e3b89831SGnoCiYeHDate:   Sun Sep 3 13:33:27 2023 +0800
2167e3b89831SGnoCiYeH
2168e3b89831SGnoCiYeH    relibc与旧的C库同时开始编译 (#369)
2169e3b89831SGnoCiYeH
2170e3b89831SGnoCiYeHcommit 4895ff6968ae8f24c7a0d55dce6ae23082d60e3b
2171e3b89831SGnoCiYeHAuthor: yuyi2439 <68320855+yuyi2439@users.noreply.github.com>
2172e3b89831SGnoCiYeHDate:   Sat Sep 2 00:27:41 2023 +0800
2173e3b89831SGnoCiYeH
2174e3b89831SGnoCiYeH    fix: DragonOS-Community/DragonOS#358 (#361)
2175e3b89831SGnoCiYeH
2176e3b89831SGnoCiYeHcommit 8479f19979aa9ddc4e383651cc56a7a24bd94e21
2177e3b89831SGnoCiYeHAuthor: GnoCiYeH <118462160+GnoCiYeH@users.noreply.github.com>
2178e3b89831SGnoCiYeHDate:   Fri Sep 1 21:46:36 2023 +0800
2179e3b89831SGnoCiYeH
2180e3b89831SGnoCiYeH    添加rust-gdb调试内核文档 (#357)
2181e3b89831SGnoCiYeH
2182e3b89831SGnoCiYeH    * 编写使用GDB调试内核文档
2183e3b89831SGnoCiYeH
2184e3b89831SGnoCiYeHcommit 863a3cff06e618a5f0fc03920dfd5732452344c9
2185e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
2186e3b89831SGnoCiYeHDate:   Thu Aug 31 20:25:00 2023 +0800
2187e3b89831SGnoCiYeH
2188e3b89831SGnoCiYeH    添加与rust std接口相同的once库 (#353)
2189e3b89831SGnoCiYeH
2190e3b89831SGnoCiYeHcommit a3ef8f8ad5248e3424113871950eb9c80eeeb99e
2191e3b89831SGnoCiYeHAuthor: GnoCiYeH <118462160+GnoCiYeH@users.noreply.github.com>
2192e3b89831SGnoCiYeHDate:   Thu Aug 31 19:52:32 2023 +0800
2193e3b89831SGnoCiYeH
2194e3b89831SGnoCiYeH    修改RamFS目前存在的BUG (#354)
2195e3b89831SGnoCiYeH
2196e3b89831SGnoCiYeH    * 修改RamFS目前存在的BUG
2197e3b89831SGnoCiYeH
2198e3b89831SGnoCiYeHcommit c757940bd61b0125e037a59eb77565e42470201b
2199e3b89831SGnoCiYeHAuthor: YJwu2023 <yujianwu2019@gmail.com>
2200e3b89831SGnoCiYeHDate:   Thu Aug 31 17:54:49 2023 +0800
2201e3b89831SGnoCiYeH
2202e3b89831SGnoCiYeH    优化makefile (#352)
2203e3b89831SGnoCiYeH
2204e3b89831SGnoCiYeHcommit 2dd9f0c7503d1a325713764fedbce06fcab3a06b
2205e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
2206e3b89831SGnoCiYeHDate:   Mon Aug 28 15:54:52 2023 +0800
2207e3b89831SGnoCiYeH
2208e3b89831SGnoCiYeH    mmio buddy新增guard,把映射的职责交由其守卫进行处理,并且守卫被drop的时候自动释放内存 (#346)
2209e3b89831SGnoCiYeH
2210e3b89831SGnoCiYeH    * mmio buddy新增guard,把映射的职责交由其守卫进行处理,并且守卫被drop的时候自动释放内存
2211e3b89831SGnoCiYeH
2212e3b89831SGnoCiYeHcommit 8d94ea66a3eb3e02039730c8d08e9bead8c344b8
2213e3b89831SGnoCiYeHAuthor: YJwu2023 <yujianwu2019@gmail.com>
2214e3b89831SGnoCiYeHDate:   Mon Aug 28 15:43:07 2023 +0800
2215e3b89831SGnoCiYeH
2216e3b89831SGnoCiYeH    Patch ahci (#348)
2217e3b89831SGnoCiYeH
2218e3b89831SGnoCiYeH    * Modify the ahci module and delete the useless c code
2219e3b89831SGnoCiYeH
2220e3b89831SGnoCiYeH    修改ahci使其不再依赖旧的pci函数
2221e3b89831SGnoCiYeH    删除旧的pci、msi函数代码
2222e3b89831SGnoCiYeH
2223e3b89831SGnoCiYeHcommit f5df0e79c67a9508bc6a50fccded9dec78e7ed9d
2224e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
2225e3b89831SGnoCiYeHDate:   Mon Aug 28 15:29:00 2023 +0800
2226e3b89831SGnoCiYeH
2227e3b89831SGnoCiYeH    解决userbufferwriter的长度错误问题,并修复gettimeofday的pagefault问题 (#349)
2228e3b89831SGnoCiYeH
2229e3b89831SGnoCiYeH    * 解决userbufferwriter的长度错误问题,并修复gettimeofday的pagefault问题
2230e3b89831SGnoCiYeH
2231e3b89831SGnoCiYeHcommit ddb9d91712b6e87aa15b9cc4a8fdec8ae0996a5e
2232e3b89831SGnoCiYeHAuthor: Xshine <gshine@m.scnu.edu.cn>
2233e3b89831SGnoCiYeHDate:   Sun Aug 27 15:54:19 2023 +0800
2234e3b89831SGnoCiYeH
2235e3b89831SGnoCiYeH    将 io 移动至 vfs 目录,并修正引用路径 (#339)
2236e3b89831SGnoCiYeH
2237e3b89831SGnoCiYeH    * 将 io 移动至 vfs 目录,并修正引用路径
2238e3b89831SGnoCiYeH
2239e3b89831SGnoCiYeH    * fix bug in makefile
2240e3b89831SGnoCiYeH
2241e3b89831SGnoCiYeHcommit e92d02281005bac31fe80e9070ac4a2a6cef0419
2242e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
2243e3b89831SGnoCiYeHDate:   Sat Aug 26 21:36:13 2023 +0800
2244e3b89831SGnoCiYeH
2245e3b89831SGnoCiYeH    解决设置rust workspace带来的“工具链不一致”的问题 (#345)
2246e3b89831SGnoCiYeH
2247e3b89831SGnoCiYeH    更改workflow
2248e3b89831SGnoCiYeH
2249e3b89831SGnoCiYeHcommit 9a367aa7eb1576a235f5f52ee542132a1e5e39df
2250e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
2251e3b89831SGnoCiYeHDate:   Thu Aug 24 18:50:52 2023 +0800
2252e3b89831SGnoCiYeH
2253e3b89831SGnoCiYeH    添加github workflow,检查代码是否已经格式化 (#342)
2254e3b89831SGnoCiYeH
2255e3b89831SGnoCiYeH    * 添加github workflow,检查代码是否已经格式化
2256e3b89831SGnoCiYeH
2257e3b89831SGnoCiYeHcommit f09a98329c4ec77010de86d126516310b407455a
2258e3b89831SGnoCiYeHAuthor: LoGin <longjin@DragonOS.org>
2259e3b89831SGnoCiYeHDate:   Wed Aug 23 16:09:29 2023 +0800
2260e3b89831SGnoCiYeH
2261e3b89831SGnoCiYeH    1. 修复bootstrap.sh在安装libssl-dev之前,安装dadk,从而导致错误的问题 (#338)
2262e3b89831SGnoCiYeH
2263e3b89831SGnoCiYeH    1. 修复bootstrap.sh在安装libssl-dev之前,安装dadk,从而导致错误的问题
2264e3b89831SGnoCiYeH    2. 构建系统的文档,补充对vnc端口的说明
2265e3b89831SGnoCiYeH
2266e3b89831SGnoCiYeHcommit 4537ffb7e9afb2d96f2adcee32c8ac84b056d2e5
2267e3b89831SGnoCiYeHAuthor: Chiichen <39649411+Chiichen@users.noreply.github.com>
2268e3b89831SGnoCiYeHDate:   Mon Aug 21 18:37:31 2023 +0800
2269e3b89831SGnoCiYeH
2270e3b89831SGnoCiYeH    实现了对用户空间传入指针抽象的UserBufferReader/Writer,来检验用户空间指针地址并提供一定的功能抽象 (#326)
2271e3b89831SGnoCiYeH
2272e3b89831SGnoCiYeH    * 构建了 Userbuffer 对用户空间传入的指针进行了抽象,并提供了读写操作
2273e3b89831SGnoCiYeH
2274e3b89831SGnoCiYeH    * 分成了Reader和Writer,增加了从地址读和写入到指定地址的功能
2275e3b89831SGnoCiYeH
2276e3b89831SGnoCiYeH    * 删除了多余的注释
2277e3b89831SGnoCiYeH
2278e3b89831SGnoCiYeH    * 增加了直接获取BufferWriter切片的函数
2279e3b89831SGnoCiYeH
2280e3b89831SGnoCiYeH    * 通过 where 的一个 Trick 实现了 const generic 和后续功能
2281e3b89831SGnoCiYeH
2282e3b89831SGnoCiYeH    * 替换为了 core::slice::align_to 实现&[u8}转&[T]
2283e3b89831SGnoCiYeH
2284e3b89831SGnoCiYeH    * 移除了 userbuffer.rs
2285e3b89831SGnoCiYeH
2286e3b89831SGnoCiYeH    * 提供了独立获取缓冲区中不同偏移量位置的数据的函数
2287e3b89831SGnoCiYeH
2288e3b89831SGnoCiYeH    * 替换了部分系统调用(还未测试
2289e3b89831SGnoCiYeH
2290e3b89831SGnoCiYeH    * 简化了代码
2291e3b89831SGnoCiYeH
2292e3b89831SGnoCiYeH    * 修复内存越界的bug
2293e3b89831SGnoCiYeH
2294e3b89831SGnoCiYeH    ---------
2295e3b89831SGnoCiYeH
2296e3b89831SGnoCiYeH    Co-authored-by: longjin <longjin@RinGoTek.cn>
2297e3b89831SGnoCiYeH
2298e3b89831SGnoCiYeHcommit abe3a6ea3c543425e2cad12722e8a658b324d515
2299e3b89831SGnoCiYeHAuthor: hanjiezhou <zhouhanjie@dragonos.org>
2300e3b89831SGnoCiYeHDate:   Sun Aug 20 00:19:36 2023 +0800
2301e3b89831SGnoCiYeH
2302e3b89831SGnoCiYeH    Patch refactor scm and textui (#289)
2303e3b89831SGnoCiYeH
2304e3b89831SGnoCiYeH    * 重构屏幕管理器和textui框架
2305e3b89831SGnoCiYeH
2306e3b89831SGnoCiYeH    * 切换字体为spleen,并增加对字体的抽象
2307e3b89831SGnoCiYeH
2308e3b89831SGnoCiYeH    * 修正文档
2309e3b89831SGnoCiYeH
2310e3b89831SGnoCiYeH    ---------
2311e3b89831SGnoCiYeH
2312e3b89831SGnoCiYeH    Co-authored-by: longjin <longjin@RinGoTek.cn>
2313e3b89831SGnoCiYeH
2314e3b89831SGnoCiYeH```
2315