GnoCiYeH
dfe53cf087
实现pty,附带测试程序 ( #685 )
...
* 实现pty,附带测试程序
* fmt ** clippy
* 将file层的锁粒度缩小,从而不使用no_preempt。更改pipe在sleep部分的bug
* 修复拼写错误
2024-04-05 00:21:55 +08:00
TTaq
597ecc08c2
新加结构体POSIXSTATFS与SuperBlock用于处理statfs系统调用 ( #667 )
...
* 新加结构体POSIXSTATFS与SuperBlock用于处理statfs系统调用
2024-03-26 18:28:26 +08:00
LoGin
b5b571e026
修复内核的clippy检查报错 ( #637 )
...
修复内核的clippy检查报错
---------
Co-authored-by: Samuel Dai <947309196@qq.com>
Co-authored-by: Donkey Kane <109840258+xiaolin2004@users.noreply.github.com>
Co-authored-by: themildwind <107623059+themildwind@users.noreply.github.com>
Co-authored-by: GnoCiYeH <heyicong@dragonos.org>
Co-authored-by: MemoryShore <105195940+MemoryShore@users.noreply.github.com>
Co-authored-by: 曾俊 <110876916+ZZJJWarth@users.noreply.github.com>
Co-authored-by: sun5etop <146408999+sun5etop@users.noreply.github.com>
Co-authored-by: hmt <114841534+1037827920@users.noreply.github.com>
Co-authored-by: laokengwt <143977175+laokengwt@users.noreply.github.com>
Co-authored-by: TTaq <103996388+TTaq@users.noreply.github.com>
Co-authored-by: Jomo <2512364506@qq.com>
Co-authored-by: Samuel Dai <samuka007@qq.com>
Co-authored-by: sspphh <112558065+sspphh@users.noreply.github.com>
2024-03-22 23:26:39 +08:00
Donkey Kane
1d37ca6d17
添加mount系统调用 ( #561 )
...
* Modify dadk config to switch NovaShell revision
* finish primary build of mount(2), usable now
* 使用read_from_cstr函数优化代码可读性 , 针对文件系统新增错误EUNSUPFS
* small changes
* 添加系统调用文档
* cargo fmt
* Revert "small changes"
This reverts commit e1991314ce687faa2d652479e8ef64f5bea25fa1.
* 修复用户程序参数传入错误
* Revert "small changes"
This reverts commit e1991314ce687faa2d652479e8ef64f5bea25fa1.
* 解决合并冲突,最终提交
* 将dadk_config切换为相对路径以修复依赖问题
* Update settings.json
* Delete user/apps/test-mount/LICENSE
* 换用更好的c字符串读取函数,优化系统调用函数注释,修复错误处理bug,删除无用文件,修改测试程序readme
* 修改用户程序readme
* 代码格式化,初级版本
* 初级版本,未实现文件系统管理器,未支持设备挂载
* 为文件系统添加name方法,返回文件系统名字字符串,为挂载查询服务
* mount系统调用:添加统一文件系统初始化管理器
* null
* 解除冲突
* 删除无用kdebug
2024-03-20 15:31:20 +08:00
TTaq
9e481b3bfe
实现了sys_rename ( #578 )
...
* 基本实现了rename的系统调用
* 实现相对路径的mv
* confilct resolve
* make fmt
* 更改校验位置,
增加了SYS_RENAMEAT与SYS_RENAMEAT2两个系统调用,其实现与SYS_RENAME基本一致
* 删除了fat中的link
* fix
* 修改注释格式,删除管道文件判断
* 1
2024-03-18 14:47:59 +08:00
Jomo
8d72b68da9
实现内核日志系统 ( #489 )
...
* 实现写日志和读取日志,并且能够在用户态下执行dmesg命令查看日志
* 通过klogctl实现dmesg
* 改用ConstGenericRingBuffer作内核缓冲区
* 更改缓冲区容量
* 将能够输出到控制台的日志级别改为日志级别枚举类,使用SpinLock控制KMSG,使用枚举类定义SYSLOG_ACTION,将do_syslog系统调用接口放在syscall.rs
* fix warning
* 完善do_syslog注释
* 将KMSG接入kinfo、kdebug等
* fix warning
* 修复显示的秒数不正确,·以及无法通过CI的问题
2024-01-24 16:13:15 +08:00
LoGin
02343d0b5b
增加/dev/fb0,能够在用户程序读写帧缓冲区 ( #485 )
2024-01-02 14:16:10 +08:00
LoGin
c566df451c
添加帧缓冲区抽象并实现vesafb的驱动 ( #483 )
...
- 添加bootparams对象
- 修正由于bus的driver、device强弱引用关系 不正确从而导致对象被释放的bug
- 添加vesafb的驱动
- 实现framebuffer抽象层
- 为通用帧缓冲区抽象实现sysfs的属性
- 修改设备号DeviceNumber的定义
- 仿照linux,添加initcall,并在第一个内核线程中,调用他们。
2024-01-01 11:46:51 +08:00
LoGin
91e9d4ab55
实现unified-init库,支持收集初始化函数到一个数组,并统一初始化 ( #474 )
...
* 添加“统一初始化”的过程宏,并把SystemError独立成crate
* 使用unified-init来初始化fbmem
* 更新workflow,增加内核自动化静态测试
2023-12-25 23:12:27 +08:00
GnoCiYeH
406099704e
增加epoll机制 ( #455 )
...
* ## 增加epoll机制
- 增加epoll机制
- 添加事件等待队列,提升socket性能
- 优化poll,删除不能poll的文件系统中的poll方法
* 添加细节注释
* 修复文件关闭后epoll还持有对应描述符的文件弱引用的bug
* 将EPollEvent设计为POSIX标准
* 修改s到us转换的计算错误
2023-12-25 18:08:12 +08:00
MemoryShore
04babc3fab
实现fat文件系统的truncate方法 ( #428 )
2023-11-08 21:42:51 +08:00
GnoCiYeH
1effcfe519
修复readdir以及读磁盘时buf传错问题 ( #422 )
...
* 修复readdir以及读磁盘时buf传错问题
* fix potential memory problem
---------
Co-authored-by: longjin <longjin@DragonOS.org>
2023-11-05 23:15:46 +08:00
GnoCiYeH
2dbef7859f
命名管道系统调用以及文件系统兼容特殊文件类型的接口 ( #397 )
...
* 修复pipe2在读端或写端关闭后还阻塞问题。
* 实现命名管道机制,增加特殊文件类型兼容普通文件系统的接口。
* 普通文件系统能够适配特殊文件(命名管道等)
2023-10-09 00:28:08 +08:00
LoGin
6b4e7a2972
增加kernfs ( #386 )
...
* 增加kernfs
* kernfs文档
2023-09-19 19:46:59 +08:00
Chiichen
b087521e07
完善设备驱动模型&调试串口驱动 ( #379 )
...
* 完成了基本架构重构,正在进行兼容
* 重构了所有 Device Driver ,还没有接上具体设备
* 基本把 Uart 接上了,还没有测试
* 初步完成系统设备初始化
* 初步重构 BlockDevice ,使其兼容新的 Device 结构
* 修改文件系统内的部分函数调用以满足重构后的接口
* 测试完 Uart 设备的功能
* 移除了自动添加的文件
* 修复了 warning 和部分格式
* 解决warning,并且修正sysfs初始化的位置
* Patch fix
* 删除了 sysinfo 的默认实现
* 删除了字符设备读写的 offset 参数
* 修复了 warning 和一些小逻辑错误
---------
Co-authored-by: longjin <longjin@RinGoTek.cn>
2023-09-13 18:01:52 +08:00
Xshine
ddb9d91712
将 io 移动至 vfs 目录,并修正引用路径 ( #339 )
...
* 将 io 移动至 vfs 目录,并修正引用路径
* fix bug in makefile
2023-08-27 15:54:19 +08:00
LoGin
6d81180b3b
移植sqlite3,并修复一些bug ( #323 )
...
* bugfix: 程序加载器映射内存时,计算要映射的大小不正确的问题。
* 修正brk系统调用不符合规范的地方
* bugfix: 修正fat文件系统未能正确的扩展文件大小的bug
* 增加fcntl系统调用
* 移植sqlite3
2023-08-08 23:39:22 +08:00
login
cde5492f72
新增网络socket的系统调用接口 ( #247 )
...
1.修复spinlock忘记恢复rflags的问题
2.WaitQueue增加wakeup_all的功能
3.完善tcp,udp,raw socket
4.把PollStatus结构体改为使用bitflags
5.新增iovec结构体
6.完成网络的系统调用
7.在bootstrap里面添加dnsmasq bridge-utils iptables
---------
Co-authored-by: guanjinquan <1666320330@qq.com>
2023-04-19 18:05:02 +08:00
houmkh
79a452ce8f
修改errno,使其与relibc的保持一致 ( #234 )
...
修改errno,使其与relibc的保持一致
2023-04-11 17:05:33 +08:00
YJwu2023
78bf93f02f
pci重构+pcie支持 ( #235 )
...
* pci重构+pcie支持
* pci重构测试完成
* 修正makefile的问题
* 小修改
* 修改函数名字
2023-04-09 12:30:02 +08:00
Mork
676b8ef62e
部分函数从返回值为Result<<>,i32>修改为Result<<>,SystemError> ( #210 )
...
* 将Result<<>,i32>替换为Result<<>,SystemError>
* bugfix: 显示双缓冲区初始化的时候,连续注册了两次Video Softirq的问题。
Co-authored-by: longjin <longjin@RinGoTek.cn>
2023-03-29 21:24:11 +08:00
WaferJay
2286eda652
修正了FAT32判断逻辑,解决了文件系统为FAT12/16时系统无法正常启动的问题。 ( #211 )
...
* fix(fat): fix determination of fat type casue crash if fs is fat12/16
* refactor(fat): split BiosParameterBlock.validate() into BiosParameterBlockFAT32.validate() and BiosParameterBlockLegacy.validate()
* 调整“最大允许的簇号”的常量放置的位置。
---------
Co-authored-by: longjin <longjin@RinGoTek.cn>
2023-03-27 09:32:43 +08:00
YJwu2023
73c607aadd
VirtIO网卡能够正常发送、接收数据 ( #204 )
...
* virtio-net小修改
* 移动volatile.rs到libs文件夹
* 使用virtio-drivers 0.3.0
* bugfix: 初始化BAR之后,未正确设置command register的问题
---------
Co-authored-by: longjin <longjin@dragonos.org>
2023-03-18 20:43:37 +08:00
login
0d48c3c9c2
new: tty设备(尚未与stdio接上) ( #202 )
2023-03-16 19:48:59 +08:00
login
84407d3605
bugfix:解决touch命令失败的问题 ( #199 )
...
* bug fix : 解决touch命令失败的问题
2023-03-13 00:26:04 +08:00
login
004e86ff19
新版文件系统重构完成 ( #198 )
...
1.重构:VFS
2. 重构:ProcFS
3. 重构:DevFS
4. 重构:FAT32
5. 重构:AHCI驱动
6. 新增:RamFS
7. 新增:MountFS
8. 新增:FAT12
9. 新增:FAT16
10. 重构:设备抽象
Co-authored-by: guanjinquan <1666320330@qq.com>
Co-authored-by: DaJiYuQia <88259094+DaJiYuQia@users.noreply.github.com>
2023-03-12 22:36:11 +08:00