108 Commits

Author SHA1 Message Date
guanjinquan
09f8d6f577
添加completion模块+wait_queue_head模块+schedule_timeout (#70)
* 添加completion模块+wait_queue_head模块+schedule_timeout

* 修复一些bug

* 实现设置pcb名字和vsnprintf (#72)

* 实现pcb设置名字

* 实现设置pcb名字,实现vsnprintf

* 修改set_pcb_name和va_end

* bugfix: 修正一些小问题

Co-authored-by: longjin <longjin@RinGoTek.cn>

* new: FAT32删除文件的功能 (#73)

* new: 将sys_rmdir更改为sys_unlink,.且完成删除文件操作的vfs部分

* new: fat32删除文件

*bugfix: 解决创建文件时的bug

* new: 将可执行文件移动到bin目录下

* 完善completion和wait_queue_head文档,并确保测试ok。

Co-authored-by: longjin <longjin@RinGoTek.cn>
Co-authored-by: houmkh <100781004+houmkh@users.noreply.github.com>
2022-11-03 21:54:59 +08:00
longjin
c811947dd0 new: 将可执行文件移动到bin目录下 2022-11-02 15:54:04 +08:00
houmkh
8e3f5674f8
实现设置pcb名字和vsnprintf (#72)
* 实现pcb设置名字

* 实现设置pcb名字,实现vsnprintf

* 修改set_pcb_name和va_end

* bugfix: 修正一些小问题

Co-authored-by: longjin <longjin@RinGoTek.cn>
2022-10-31 20:46:20 +08:00
guanjinquan
d53ddde95d
Patch add idr (#56)
* 增加了idr模块

* 增加了IDR模块,并尝试覆盖上一个错误版本.

* 增加了IDR模块

* 修改了test-idr.c文件

* 进一步完善函数注释

* 更新idr文档同时修改了test-idr的错误


* 将lz4库改为使用系统的clz函数

* idr和test-idr O1

* bugfix: 修复测试用例中的移位问题

* 修正问题

Signed-off-by: guanjinquan <1666320330@qq.com>
Co-authored-by: fslongjin <longjin@RinGoTek.cn>
2022-10-23 16:07:28 +08:00
kong
ed178b560b
增加进程的调度policy属性 (#63)
* 添加进程的policy属性

* update

* 修改设置进程策略

* 删除重复定义

* 更正注释及格式

Co-authored-by: longjin <longjin@RinGoTek.cn>
2022-10-21 20:38:01 +08:00
longjin
b6a77da0c9 bugfix:解决显示刷新线程未正确设置name字段的问题 2022-10-20 16:00:43 +08:00
longjin
173c988d5d 修正一些编译器警告 2022-10-17 18:40:07 +08:00
longjin
1752fc1e81 更新kthread注释,减少歧义 2022-10-16 20:41:35 +08:00
longjin
fbe1e23e97 将makefile中的gcc字样用$(CC)环境变量代替 2022-10-16 11:08:32 +08:00
login
efa38a7d5d
使用内核线程来刷新屏幕 (#57)
* 修改了test-idr的错误

* new: 修复切换双缓冲的时候的卡顿问题

Signed-off-by: guanjinquan <1666320330@qq.com>
Co-authored-by: guanjinquan <1666320330@qq.com>
Co-authored-by: fslongjin <longjin@RinGoTek.cn>
2022-10-12 18:45:58 +08:00
guanjinquan
1067ae7da8
Patch add idr (#52)
* 增加了idr模块

* 增加了IDR模块,并尝试覆盖上一个错误版本.

* 增加了IDR模块

* 完善了注释内容

* 修改了test-idr.c文件

* 进一步完善函数注释

Signed-off-by: guanjinquan <1666320330@qq.com>
Co-authored-by: fslongjin <longjin@RinGoTek.cn>
2022-10-06 16:13:29 +08:00
login
fb417a5e81
xhci: 获取设备描述符并配置endpoint (#50)
* 调整:使用宏定义来声明usb请求包

* new: 获取usb设备的config描述符

* new: 获取接口及端点描述符

* 临时修正系统根分区的挂载,使得能在真机上启动shell

* xhci: set_config

* bugfix: 解决之前错误的将control_endpoint信息绑定在xhci_hc下的bug

* xhci configure endpoint(存在bug

* 1

* 解决了configure endpoint出错的问题

* new: xhci驱动程序能够配置端点

* 删除trace usb的代码

xhci: 获取设备描述符并配置endpoint
存在问题:尚未能够正确初始化usb键盘,也没有将usb键盘相关的代码独立出来。
2022-09-30 20:39:02 +08:00
fslongjin
02a6b3a303 new: kthread机制 2022-09-30 15:30:50 +08:00
fslongjin
1872d9bd4a 将common文件夹下的c文件移动到lib文件夹下 2022-09-28 21:45:38 +08:00
houmkh
be9ac3d58b
Combine vma (#42)
* 合并vma

* 调整vma映射,修复bug

* 删除注释

Co-authored-by: fslongjin <longjin@RinGoTek.cn>
Co-authored-by: houmkh <100781004+houmkh@users.noreply.github.com>
2022-09-22 00:31:17 +08:00
fslongjin
0e624b1fcf 调整:devfs注册设备后,返回指向inode私有信息的指针 2022-09-17 14:11:17 +08:00
fslongjin
b708443d68 bugfix: 解决了为应用程序映射elf的过程中,由于地址未对齐而导致的可能的内存越界问题 2022-09-16 21:40:18 +08:00
liric
518ce3818c 依然是一些针对Mac编译环境的适配 2022-09-15 21:19:20 +08:00
fslongjin
72f9c430c5 new: rootfs 2022-09-14 23:51:58 +08:00
fslongjin
9f2b080cda new: devfs删除文件夹 2022-09-12 23:56:31 +08:00
login
7d44599447
Devfs初步实现 (#41)
* new: 在devfs中使用键盘文件(仍存在bug)

* new:支持dev目录下的readdir
2022-09-07 23:27:27 +08:00
fslongjin
339053a20e 将具体磁盘类型与fat32文件系统进行分离 2022-09-06 14:10:17 +08:00
fslongjin
94c960ae89 bugfix: 解决了xhci驱动程序无法在真机上获取设备描述符的bug 2022-09-04 20:57:00 +08:00
fslongjin
4713a1a152 new: 移植了LZ4库 2022-09-03 16:13:29 +08:00
houmkh
1a2d405384
将当前的sched_cfs函数做一个包裹,套一层sched(). (#32)
* 将当前的sched_cfs函数做一个包裹,套一层sched().

* 用sched()包裹sched_cfs(),用sched_enqueue()包裹sched_cfs_enqueue()

* 用sched()包裹sched_cfs(),用sched_enqueue()包裹sched_cfs_enqueue(),并替换

* bugfix: 修正拼写错误导致的编译错误

* 修正拼写错误

Co-authored-by: fslongjin <longjin@RinGoTek.cn>
2022-08-31 07:59:31 +08:00
zzy666-hw
554b73ec99
add ipc pipe (#28) 2022-08-20 21:47:41 +08:00
fslongjin
0223232f3f new: 初步完成了mmio地址空间自动分配(未测试)
bugfix: mmio虚拟地址分配的bug
2022-08-20 14:54:19 +08:00
fslongjin
77633e2f19 new: 初步实现了mmio的伙伴系统 2022-08-18 22:06:29 +08:00
fslongjin
a296b79dbc 增加对current.h的条件编译 2022-08-15 16:39:10 +08:00
fslongjin
1dd9195d69 new: vma反向映射 2022-08-15 01:42:34 +08:00
fslongjin
642fa1def8 new: 引入vmarea 2022-08-12 18:27:34 +08:00
fslongjin
b4b2c67514 vma的一些方法 2022-08-11 19:07:58 +08:00
fslongjin
60d6ea0fd8 new: 定义了vma结构体 2022-08-11 18:11:10 +08:00
fslongjin
d9ee6ea859 new: string.h 2022-08-03 15:13:01 +08:00
fslongjin
8bd6e981f0 fix:在smp模块中增加mfence 2022-08-01 23:18:54 +08:00
fslongjin
f06ed2d886 使process模块能以O3优化下运行 2022-08-01 21:42:23 +08:00
fslongjin
e806bbc0c8 o3能运行 2022-08-01 20:55:47 +08:00
fslongjin
58681fd34a O1能跑的代码 2022-08-01 19:43:21 +08:00
fslongjin
2fd21e0395 new: 内核态fork 2022-08-01 14:20:16 +08:00
fslongjin
946bbef392 new: mutex 2022-07-31 17:09:12 +08:00
fslongjin
a02acbdbe6 将进程同步原语移动到common文件夹下 2022-07-31 14:17:26 +08:00
fslongjin
5963c45116 bugfix: 在内核线程中,rflags未按照预期值进行设置的问题 2022-07-30 13:12:29 +08:00
fslongjin
7c9366b297 new: 增加ktest_start函数以开启内核自测试 2022-07-29 17:40:55 +08:00
fslongjin
2a983a8534 new: kfifo 2022-07-28 19:48:20 +08:00
fslongjin
90203803d3 🆕 使用rdtsc进行精确定时 2022-07-27 21:19:59 +08:00
fslongjin
aacb77e0c6 doc: 原子变量文档 2022-07-27 12:11:29 +08:00
fslongjin
494bcc1811 bitree的单元测试以及bug修复 2022-07-26 15:44:01 +08:00
fslongjin
16d6b94c46 将usb的初始化交由init进程进行处理 2022-07-18 21:19:34 +08:00
fslongjin
aa3f433cd5 使mm支持4K虚拟地址映射 2022-07-18 16:07:34 +08:00
fslongjin
d0ddb73788 🔧 include上级文件夹时,统一采用<>来指定文件 2022-07-17 15:41:19 +08:00