1106 Commits

Author SHA1 Message Date
LoGin
3660256a9e
只对x86_64进行clippy check (#651) 2024-03-23 11:51:30 +08:00
LoGin
4e4c8c41e9
添加clippy检测的自动化工作流 (#649)
* 添加clippy检测的自动化工作流

* fmt

* 1
2024-03-22 23:56:30 +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
Chenzx
4695947e1b
实现SYS_LINK和SYS_LINKAT (#611)
* 实现do_linkat及SYS_LINK和SYS_LINKAT

* 未在riscv上测试,添加target_arch

* 将c字符串检查移动到vfs/syscall.rs,修改do_linkat()逻辑

* 修改部分注释
2024-03-22 18:27:07 +08:00
LoGin
70f159a398
riscv64: 添加flush tlb的ipi (#636)
* riscv64: 添加flush tlb的ipi

* update triagebot
2024-03-21 21:35:39 +08:00
TTaq
b4eb05a17f
Statx (#632)
* 实现statx及测试的应用程序
2024-03-21 19:59:10 +08:00
LoGin
8cb2e9b344
重写SMP模块 (#633)
* 修复cpumask的迭代器的错误。

* 能进系统(AP核心还没有初始化自身)

* 初始化ap core

* 修改percpu

* 删除无用的cpu.c

* riscv64编译通过
2024-03-21 19:19:32 +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
LoGin
1cd9bb43f0
添加core utils到系统 (#624) 2024-03-19 21:31:02 +08:00
sspphh
8c6f21840f
实现uname系统调用 (#614)
* 实现uname系统调用

Co-authored-by: longjin <longjin@DragonOS.org>
2024-03-19 17:01:20 +08:00
hmt
82df0a1310
fix: mkdir输出错误信息; feat: 实现get_pathname (#615)
* fix: mkdir输出错误信息; feat: 实现get_pathname

* fix: 将处理路径的操作放入vfs而不是在syscall/mod.rs中

* 调整入参类型

---------

Co-authored-by: longjin <longjin@DragonOS.org>
2024-03-19 16:45:44 +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
LoGin
c3c7344451
更新triagebot配置 (#616)
* 更新triagebot配置
2024-03-16 22:28:59 +08:00
LoGin
4fd916113e
triagebot-add-shortcut (#612) 2024-03-16 18:09:32 +08:00
LoGin
fbc174499f
添加triagebot文件 (#608)
* 添加triagebot文件
2024-03-15 20:06:24 +08:00
GnoCiYeH
e3b898316b
增加ChangeLog V0.1.9,更改about.c版本 (#600) V0.1.9 2024-03-13 22:36:31 +08:00
MemoryShore
af59116e1b
Update NovaShell version to c6454d3220 (#593) 2024-03-12 17:52:14 +08:00
LoGin
59fdb447ee
fix: 键盘中断上下文不再直接操作tty,而是由专门的kthread来渲染 (#592)
fix: 键盘中断上下文不再直接操作tty,而是由专门的kthread来渲染
1.修正psmouse 日志
2. 键盘中断上下文不再直接操作tty,而是由专门的kthread来渲染
3. 由于调度器设计问题,load balance会由于时序问题导致错误.因此暂时只启用单核.
2024-03-12 16:32:33 +08:00
LoGin
818a64c776
暂时禁用load balance (#591)
原因见issue: https://github.com/DragonOS-Community/DragonOS/issues/571
2024-03-12 15:33:01 +08:00
GnoCiYeH
4374bd1d11
修复get_random一个问题,添加Held配置文件 (#583) 2024-03-11 19:40:52 +08:00
GnoCiYeH
52bcb59e92
完善Tty的RawMode (#577)
* 完善rowmode,改掉一部分bug

* 增加两个ansi拓展功能功能,以及标记部分函数nerve inline

* 修改do_signal和其他中断上下文锁未关中断,以及拓展tty功能,修改tty几个算法bug

* 修改两个锁

* 修改syscall_64

* update
2024-03-11 15:13:37 +08:00
LoGin
840045af94
引入clippy,并根据clippy的提示,修改部分代码 (#575) 2024-03-10 21:45:34 +08:00
LoGin
f4a82aa55c
Update Novashell version to 473d5c403c (#574)
- fix: 用户输入不正确的;以及单独输入单引号和双引号造成系统重启
- 修改命令解析算法
- fix: 输出多余的光标和命令信息
2024-03-10 20:42:41 +08:00
栗子
4f8f484930
修复Archlinux下的bootstrap脚本问题, (#552)
* 修复Archlinux下的bootstrap脚本问题,

由于archlinux 的 texinfo版本太新导致的gcc docs构建失败
使用 MAKEINFO=true 的make环境变量跳过gcc docs构建,绕过问题


---------

Co-authored-by: longjin <longjin@dragonos.org>
2024-03-09 21:20:12 +08:00
Jomo
3055390c25
完善重映射过程中获取新映射区域时的map_flags (#569) 2024-03-09 11:40:44 +08:00
LoGin
5c4224e5a8
在riscv上实现异常处理,能够进入异常处理程序 (#564) 2024-03-08 23:23:06 +08:00
LoGin
c3dc6f2ff9
删除一些过时的C代码 (#565)
* 删除C版本的crc库

* 删除lockref

* 删除过时的libc文档以及wait.c

* 删除过时的C版本kfifo代码及文档

* 移除未用到的lz4库

* 删除内核的stdlib.c

* 删除fabs.c

* fmt

* 使得put_string系统调用能够通过tty输出颜色
暂且这样改,这一部分应该是用户层面提供的功能,后续删除

---------

Co-authored-by: GnoCiYeH <heyicong@dragonos.org>
2024-03-08 23:22:48 +08:00
Chenzx
5eeefb8c80
实现SYS_RMDIR (#566)
* 实现rmdir系统调用,整理do_remove_dir逻辑
2024-03-08 16:01:22 +08:00
LoGin
338f690326
riscv: 初始化irq (#560)
完成riscv的irqchip初始化的代码。

这是该功能的第一个PR。由于还需要实现timer驱动才能测试,因此该功能将会通过2~3个PR来完成。
2024-03-05 17:22:04 +08:00
裕依
bc6f0a967c
移除relibc和old libc以及旧的shell (#529)
移除relibc和old libc以及旧的shell
2024-03-04 14:20:01 +08:00
GnoCiYeH
f3b05a97ec
将tty输出接入串口 (#555) 2024-03-04 14:10:26 +08:00
MContour
cf45dede2e
让 DragonOS 仓库管理 service 文件 (#548)
* feat: create `user/services` folder to store service files
2024-03-03 17:20:11 +08:00
LoGin
e28411791f
完成中断管理模块重构 (#554)
- 支持中断共享
- 把现有驱动程序移植到新的irq模块
- 使用`ProcessorId`标识处理器id
- 尚未实现threaded_irq

性能上,edge irq flow handler里面,对于锁的使用,可能有点问题。为了获取/修改common data还有其他几个结构体的状态,进行了多次加锁和放锁,导致性能降低。这是接下来需要优化的点。
2024-03-03 16:31:08 +08:00
Donkey Kane
44d051e586
Modify dadk config to switch NovaShell revision (#550) 2024-03-03 15:22:45 +08:00
GnoCiYeH
0e7c469396
修改事件等待队列对于retain使用方法出错导致唤醒错误 (#551) 2024-03-01 15:07:00 +08:00
GnoCiYeH
be60c929c8
修改tty几个bug (#549)
* 更改ioctl一处逻辑错误

* 删除不必要的impl

* 修改一处bug,并且加入tty的link,为pty做准备

* 修改一处因为vc的pos和x计算错误导致的溢出
2024-02-28 20:18:49 +08:00
GnoCiYeH
52da9a5937
完成与Linux兼容的Ntty (#517)
* 已经完成的功能:
- 写:printf能够正常在tty输出
- 读:与键盘驱动接上
- 信号: 能够正常通过ctrl向前台进程发送信号

* 支持目前的shell,改动printk使其与新版tty兼容。

* 删除原有tty文件夹,并更改新tty文件名

* 添加clear清屏程序

* 实现tty部分ioctl,更改部分问题
2024-02-26 15:27:19 +08:00
R0ronoa
9993c0fc61
添加i8042驱动 改正serio设备文件结构 (#538)
* 添加i8042驱动 改正serio设备文件结构
2024-02-26 15:03:13 +08:00
栗子
d2b28acb4d
tools/bootstrap.sh: fix archlinux and zsh issue (#535)
1. archlinux上没有libssl-dev包,相对应的包名是openssl
2. zsh用户使用bootstrap.sh 会因为 source ~/.zshrc
   导致bash执行很多zsh built-in 指令出现非常多错误
3. mkdir命令加-p选项避免对象目录存在时(反复执行脚本)报错
4. 修复简单错误(typo gcc 为 binutils)
5. 修复bootstrap.sh等脚本无法在非tools/目录执行的错误
2024-02-25 19:57:30 +08:00
LoGin
7d66c3134c
添加简单的cpumask (#533) 2024-02-19 21:40:37 +08:00
LoGin
b2ca6800f9
添加动态申请的bitmap (#532) 2024-02-19 19:50:03 +08:00
裕依
0e2c2e8b48
修正systemerror号 (#527)
修正systemerror号
2024-02-19 19:31:17 +08:00
Jomo
4cfa009b87
实现mremap系统调用 (#518)
* mremap系统调用
2024-02-19 14:54:11 +08:00
裕依
27b967a38a
添加pread&pwrite (#528)
添加pread&pwrite
2024-02-19 14:53:34 +08:00
LoGin
701589559f
删除无用的C版本bitree和ida/idr. (#526)
这些数据结构不再使用,将其删除.
2024-02-19 11:17:23 +08:00
LoGin
196b75dc17
把irqdesc添加到sysfs (#525)
* 把irqdesc添加到sysfs
2024-02-19 00:56:58 +08:00
LoGin
3bc96fa4a9
添加irqdesc的抽象,并在系统初始化时创建irqdesc (#522)
* 添加irqdesc的抽象,并在系统初始化时创建irqdesc
2024-02-19 00:36:36 +08:00
LoGin
ce5850adbf
添加irqchip这一层的数据结构(尚未接入真实的芯片) (#520)
* 添加irqchip这一层的数据结构(尚未接入真实的芯片)
2024-02-18 20:41:41 +08:00
LoGin
ca318c376b
update dragonreach to 3d99c3a9d9 (#519) 2024-02-17 01:51:10 +08:00
LoGin
472f0b3931
update dragonreach to 40362c48d6 (#516) 2024-02-13 12:14:12 +08:00