657 Commits

Author SHA1 Message Date
login
c6174797dc
fix: 解决bindings.rs报了很多警告的问题 (#85)
* fix: 解决bindings.rs报一堆警告的问题
2022-11-17 20:29:29 +08:00
login
cffd7144fb
signal相关数据结构&代码结构优化 (#84)
* 解决由于spinlock.h中包含preempt_enable()带来的循环include问题

* new: 初步实现signal的数据结构
2022-11-16 15:18:03 +08:00
login
fb6c29d01d
port kmalloc and printk to rust (#83)
* 暂时移除cbindgen

* 将lib文件夹更名为libs文件夹(解决rust的冲突)

* 实现了全局的allocator

* 实现了printk宏

* new: 完善了printk的颜色
2022-11-13 16:43:58 +08:00
login
82d2e446a4
new: 暂时移除cbindgen (#82) 2022-11-12 15:25:54 +08:00
login
2aaf7808ef
在内核中引入cbindgen,生成rust-C的FFI (#81)
* 解决codeql失败问题

* new: 为内核引入cbindgen
2022-11-11 22:21:44 +08:00
login
2813126e31
新增rust ffi (#77)
* 引入cargo

* 取消对Cargo.lock的跟踪

* 解决vscode报错问题

* new: rust的代码能够调用c语言的printk_color

* 1、将原本run.sh的工作拆解,变为几个不同的make命令
2、在docker镜像中编译rust

* 更改workflow

* update workflow

* new: 解决workflow无法通过编译的问题
2022-11-11 15:35:37 +08:00
login
fd8ba5749d
about APP: adjust copyright info (#76)
* 修正文档错误

* buffix: 在释放kthread struct之前,先判断是否为kthread

* 修改about应用中的版权声明
2022-11-04 15:05:33 +08:00
login
ac13e53a60
new: V0.1.0 ChangeLog (#75) 2022-11-04 15:04:42 +08:00
houmkh
d9ee9a0f5b
Release worker private (#74)
* 释放worker private,to_thread问题待解决

* 增加process_free_task_

* 测试free_kthread_struct,process_free_task

* free_kthread_struct测试ok

* 修正函数重复的问题

Co-authored-by: longjin <longjin@RinGoTek.cn>
2022-11-04 14:19:24 +08:00
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
login
31b7b49d8c
new: FAT32删除文件的功能 (#73)
* new: 将sys_rmdir更改为sys_unlink,.且完成删除文件操作的vfs部分

* new: fat32删除文件

*bugfix: 解决创建文件时的bug
2022-11-02 15:42:44 +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
login
8a080f3cce
new: 将sys_rmdir更改为sys_unlink,.且完成删除文件操作的vfs部分 (#69) 2022-10-25 23:02:35 +08:00
login
e002152383
new: 在lib下引入一个rust的helloworld! (#68) 2022-10-24 21:29:58 +08:00
login
0385e0324e
在usb设备的hid path中寻找给定的节点(存在问题,以后再解决) (#67) 2022-10-23 20:38:48 +08:00
longjin
a274d5a01d 暂时解决idr不能跑的问题(目前只能在o1下运行,o0存在栈损坏错误) 2022-10-23 16:43:57 +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
login
d328bfce6b
bugfix: 修正潜在的错误路径 (#64)
* bugfix: 修正潜在的错误路径

* 修正格式
2022-10-22 20:17:40 +08:00
kong
ed178b560b
增加进程的调度policy属性 (#63)
* 添加进程的policy属性

* update

* 修改设置进程策略

* 删除重复定义

* 更正注释及格式

Co-authored-by: longjin <longjin@RinGoTek.cn>
2022-10-21 20:38:01 +08:00
longjin
c2fa7bf46d new: memcmp函数 2022-10-20 20:50:50 +08:00
longjin
b6a77da0c9 bugfix:解决显示刷新线程未正确设置name字段的问题 2022-10-20 16:00:43 +08:00
longjin
f5be8074dc Merge branch 'master' into patch-usb-hid-parse 2022-10-20 15:46:07 +08:00
DaJiYuQia
a9c5b3e45c
Patch shell cursor (#59)
* 调整代码减少bug

* 修复换行光标bug

Co-authored-by: longjin <longjin@RinGoTek.cn>
2022-10-18 20:38:34 +08:00
longjin
173c988d5d 修正一些编译器警告 2022-10-17 18:40:07 +08:00
kong
34205659b5
Patch isolate sched_cfs (#62)
* 独立cfs到新的文件

* update

* bugfix: 解决调度器卡住的问题

Co-authored-by: longjin <longjin@RinGoTek.cn>
2022-10-17 18:04:41 +08:00
longjin
39e32a8035 Merge branch 'patch-fix-gcc11-gp-after-enable-apic' 2022-10-16 20:55:11 +08:00
longjin
d364ed7d79 修复处理器异常陷阱门被错误清空的bug 2022-10-16 20:54:02 +08:00
longjin
bc536ca32f Merge branch 'patch-fix-kthread-create-return-wrong-result' 2022-10-16 20:42:03 +08:00
longjin
1752fc1e81 更新kthread注释,减少歧义 2022-10-16 20:41:35 +08:00
login
bf8f61b500
bugfix: 解决了ignore_int在运行时可能破坏进程执行上下文的问题。 (#61) 2022-10-16 19:38:46 +08:00
longjin
4830d04c2f bugfix: 解决了ignore_int在运行时可能破坏进程执行上下文的问题。 2022-10-16 18:19:05 +08:00
longjin
fbe1e23e97 将makefile中的gcc字样用$(CC)环境变量代替 2022-10-16 11:08:32 +08:00
DaJiYuQia
af37e98979
Patch in kfifo add lock (#60)
* 对加锁进行了修改

* bugfix: 解决指针错误的问题

Co-authored-by: longjin <longjin@RinGoTek.cn>
2022-10-15 20:50:47 +08:00
login
39f11c5b4b
新增usb hid report解析器 (#58)
* new: usb hid parser
2022-10-14 18:45:10 +08:00
longjin
80edc58cf0 将idr中,关中断加自旋锁的部分,替换为不关中断,加自旋锁 2022-10-14 18:01:26 +08:00
longjin
b815294832 new: usb hid parser 2022-10-14 17:52:59 +08:00
longjin
1e94d1e7d0 1 2022-10-14 11:24:39 +08:00
DaJiYuQia
5f4c802880
对mkdir以及do_open进行加锁 (#55)
* 对mkdir加锁

* 给mkdir和do_open的dentry加锁

* 对加锁进行了修改

* modified

* bugfix: 修复一些死锁及空指针的错误

Co-authored-by: longjin <longjin@RinGoTek.cn>
2022-10-13 14:34:39 +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
DaJiYuQia
1b0c901ab2
vfs_alloc_dentry (#54)
* vfs_alloc_dentry

* vfs_alloc_dentry

* 修正dentry被错误清空的问题

Co-authored-by: fslongjin <longjin@RinGoTek.cn>
2022-10-07 20:06:40 +08:00
DaJiYuQia
e62bbf13e5
swab函数 (#53)
* swab函数

Signed-off-by: Yuqia <15287042733@163.com>

* 修正格式

Signed-off-by: Yuqia <15287042733@163.com>
Co-authored-by: fslongjin <longjin@RinGoTek.cn>
2022-10-07 15:45:49 +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
fslongjin
7e0835c92f new: devfs设备卸载 2022-10-06 14:48:44 +08:00
fslongjin
85719d938d new: lockref 2022-10-06 14:20:03 +08:00
fslongjin
9b37ff3e5a new: 增加一些编译器相关的宏 2022-10-05 21:40:03 +08:00
fslongjin
7087e9fbc1 doc: 更新List文档 2022-10-04 22:02:41 +08:00
fslongjin
bde283fc80 new: READ_ONCE和WRITE_ONCE宏 2022-10-04 19:04:45 +08:00
fslongjin
54215d7dab new: list增加迭代功能的宏 2022-10-03 23:45:46 +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