LoGin
|
f4a82aa55c
|
Update Novashell version to 473d5c403c (#574)
- fix: 用户输入不正确的;以及单独输入单引号和双引号造成系统重启
- 修改命令解析算法
- fix: 输出多余的光标和命令信息
|
2024-03-10 20:42:41 +08:00 |
|
裕依
|
bc6f0a967c
|
移除relibc和old libc以及旧的shell (#529)
移除relibc和old libc以及旧的shell
|
2024-03-04 14:20:01 +08:00 |
|
MContour
|
cf45dede2e
|
让 DragonOS 仓库管理 service 文件 (#548)
* feat: create `user/services` folder to store service files
|
2024-03-03 17:20:11 +08:00 |
|
Donkey Kane
|
44d051e586
|
Modify dadk config to switch NovaShell revision (#550)
|
2024-03-03 15:22:45 +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 |
|
裕依
|
0e2c2e8b48
|
修正systemerror号 (#527)
修正systemerror号
|
2024-02-19 19:31:17 +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 |
|
裕依2439
|
4ad52e57e6
|
添加socketpair (#505)
* 添加对socketpair系统调用的处理
---------
Co-authored-by: LoGin <longjin@DragonOS.org>
|
2024-02-07 18:06:15 +08:00 |
|
LoGin
|
fccbe87dca
|
删除关于zulip的表述,替换为社区论坛 (#508)
|
2024-02-05 14:50:15 +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
|
c566df451c
|
添加帧缓冲区抽象并实现vesafb的驱动 (#483)
- 添加bootparams对象
- 修正由于bus的driver、device强弱引用关系 不正确从而导致对象被释放的bug
- 添加vesafb的驱动
- 实现framebuffer抽象层
- 为通用帧缓冲区抽象实现sysfs的属性
- 修改设备号DeviceNumber的定义
- 仿照linux,添加initcall,并在第一个内核线程中,调用他们。
|
2024-01-01 11:46:51 +08:00 |
|
MemoryShore
|
cfd642e283
|
更新nova shell的revision为64ad1b282a (#477)
- 修复tab补全时始终基于根目录的问题
- 修复touch命令提示已存在文件的bug
|
2023-12-27 15:07:01 +08:00 |
|
LoGin
|
8612b6ce7a
|
bugfix: 修复无法sleep的问题以及进程处于block(true)状态时无法被信号唤醒&唤醒后不处理信号的问题 (#470)
|
2023-12-19 11:56:14 +08:00 |
|
LoGin
|
666cffedab
|
riscv: 映射内核到指定的虚拟地址,使得kinfo能正常工作 (#468)
* riscv: 映射内核到指定的虚拟地址,使得kinfo能正常工作
|
2023-12-16 22:26:26 +08:00 |
|
MemoryShore
|
6c7f966c2f
|
NovaShell替换为默认shell (#456)
* NovaShell替换为默认shell
* delete some envvar
* 自动从dragonos镜像站更新dadk
* 更新github ci环境
* 修复yml格式问题
* 更新novashell到95738b235f
---------
Co-authored-by: longjin <longjin@DragonOS.org>
|
2023-12-04 22:07:30 +08:00 |
|
LoGin
|
a1fd1cf1cb
|
把tar的二进制镜像源更换为国内源 (#458)
|
2023-11-23 21:12:16 +08:00 |
|
Jomo
|
cc5feaf67b
|
bugfix: 修复因rsdp v1 v2版本问题,导致ACPI无法正常初始化的bug (#454)
bugfix: 修复因rsdp v1 v2版本问题,导致ACPI无法正常初始化的bug
|
2023-11-23 21:04:32 +08:00 |
|
LoGin
|
edaf015400
|
默认安装gnu tar到dragonos的/usr/bin目录下 (#442)
|
2023-11-15 17:17:56 +08:00 |
|
LoGin
|
0d9b7d9240
|
添加prlimit64系统调用 (#438)
注意: 目前仅支持读取默认的rlimit值,尚不支持设置rlimit值.
|
2023-11-12 18:44:15 +08:00 |
|
LoGin
|
4a2d7191a3
|
bugfix: 解决shell在exec的时候传递的argv不正确的bug (#437)
|
2023-11-12 17:53:36 +08:00 |
|
LoGin
|
5eaf536d5b
|
添加初始化DragonOS的Rust-Musl工具链的脚本. (#426)
|
2023-11-08 19:41:08 +08:00 |
|
LoGin
|
70a4e5550a
|
使用rust重写了apic的驱动 (#425)
* 使用rust重写了apic的驱动。
* 修正signal和调度器的部分加锁逻辑,增加回退策略。
* 把pcb的flags字段替换为无锁的
* 使用cargo管理apic的编译
* 删除makefile中指定PIC的变量
---------
Co-authored-by: Gou Ngai <ymd7823@outlook.com>
Co-authored-by: 櫻井桃華 <89176634+TihayaKousaka@users.noreply.github.com>
|
2023-11-07 20:32:06 +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
|
ad1d649edd
|
更新系统调用号 (#410)
* 更新系统调用号
* 更改DragonReach和relibc版本
* update
* update
* fix warning
---------
Co-authored-by: longjin <longjin@RinGoTek.cn>
|
2023-10-24 19:59:01 +08:00 |
|
LoGin
|
f4082b86b1
|
更改系统调用的寄存器传参顺序 (#409)
|
2023-10-24 16:40:49 +08:00 |
|
Xiaoye Zheng
|
40314b30ab
|
DragonOS虚拟化 (#389)
* try some ioctl flow & kvm device
* add sys ioctl
* 删掉一些debug信息
* 修改run-qemu.sh脚本,在QEMU中enable vmx
* 修改cr0,cr4,msr寄存器enable VMX operations
* enable vmx operation
* allocate memory for vmcs with bug
* allocate memory for vmcs
* cpu virt-50%
* single vcpu virt
* add vmcs fields
* CPU virt overall flow with bug
* run vmlaunch success
* run CPU virt with bug
* 成功运行non-root模式的guest
* 成功运行vmexit,进入vmx_return函数
* 成功运行vmlaunch, vmexit, vmresume
* vmexit handler with bug
* 完成vmexit cpuid handler
* fix vmresume guest状态恢复的bug
* 增加vm ioctl
* refactor kvm 50%
* refactor kvm 80%
* FIXME: kvm vmlaunch failed
* vmlaunch success
* FIXME: output error
* update guest_rsp
* cpu virt refactor
* add mmu related struct
* add usermemory region workflow
* add mem-virt workflow
* add mem-virt
* refactor code
* add vcpu ioctl set_regs
* rename hypervisor to vm & solve some deadlock bugs
* workout mem pipeline
* fix vmcs control setting bugs
* refactor segment regs initialization
* resovle conficts
* resovle conficts
* format code
|
2023-10-24 14:31:56 +08:00 |
|
Chiichen
|
3c82aa56d1
|
Signal refactor (#402)
* 初步完成对 signal_types 和 部分signal代码的初始化
* 重构了一部分架构相关代码进入 arch 中
* 基本修改完成,编译通过,后续补上系统调用
* signal基本完成,能实现 Sigaction 系统调用
* 增加了一组枚举抽象
* 进一步重构了一部分C风格的代码
* 继续重构了一部分C风格代码
* 继续完善了一部分逻辑
* 修改了部分代码逻辑
* 补充了 fork 中复制信号信息的逻辑
* 修复了 kallsysms 未转义引号的问题
* 修复了无法跳转到 sigreturn 的bug
* 调通了 signal
* 实现了 signal 架构抽象层的 trait
* 为信号提供了默认处理函数
* 基本完成了 signal 的大体逻辑
* 修复了 Sigreturn 的一个小错误,格式化
* 修复了一个编译器漏报错误
* 删除了多余的代码
* 修改测试程序为链接 relibc
* 修复了信号处理过程中浮点寄存器错误保存的问题
* 修复了一个结构体错误引起的无法在relibc下正确运行的错误
* 修复了链接 relibc 时无法正常从信号处理返回的 bug
* 修复了 signal 处理流程中 rsp 指针错误导致的浮点运算触发GP
* 修复了一个死锁问题,解决了默认处理函数无法进入调度导致的bug
* 修复了一些错误
* 修改了 relibc 依赖版本号
* 删除了多余的 imports
* 删除一些debug日志
* 删除内核 signal.h 文件
* 删除一个依赖项
* 删除了 binding 相关依赖项
|
2023-10-24 12:02:20 +08:00 |
|
LoGin
|
01bd5258cf
|
解决shell无法输入大写字母'P'的问题 (#404)
|
2023-10-22 12:22:41 +08:00 |
|
LoGin
|
a03c4f9dee
|
设备驱动模型:完善platform bus相关内容。并注册串口到sysfs (#403)
* 完成初始化platform bus
* 删除旧的sysfs
* 把uart驱动移动到tty/serial文件夹下
* 完成将串口挂载到sysfs
* 修复vfs系统调用未能follow symlink的问题
* 修复shell未能正确获取pwd的问题
|
2023-10-20 22:11:33 +08:00 |
|
LoGin
|
06d5e24726
|
完善设备驱动模型,基于kset、kobj来维护对象之间的关系 (#401)
* 使用kobj和kset管理/sys文件夹下的对象
* 修改notifier,把action从u64换为泛型。
* 完善设备驱动模型,基于kset、kobj来维护对象之间的关系
|
2023-10-11 00:53:15 +08:00 |
|
GnoCiYeH
|
865f4ba4cd
|
修改shell执行exec时传参错误问题 (#399)
* 修改shell执行exec时传参错误问题
|
2023-10-09 01:10:14 +08:00 |
|
GnoCiYeH
|
2dbef7859f
|
命名管道系统调用以及文件系统兼容特殊文件类型的接口 (#397)
* 修复pipe2在读端或写端关闭后还阻塞问题。
* 实现命名管道机制,增加特殊文件类型兼容普通文件系统的接口。
* 普通文件系统能够适配特殊文件(命名管道等)
|
2023-10-09 00:28:08 +08:00 |
|
yuyi2439
|
34e6d6c80f
|
实现free指令+修复 mountfs的内存泄露问题(#394)
* 实现meminfo文件
* 成功实现free指令,添加了一些string有关函数,并进行一些无影响的小改动
* 解决内存泄露的问题:mountfs inode的wrap方法使用了Arc::into_raw而没有from_raw,导致inode始终无法释放
---------
Co-authored-by: LoGin <longjin@DragonOS.org>
Co-authored-by: longjin <longjin@RinGoTek.cn>
|
2023-10-08 14:26:17 +08:00 |
|
GnoCiYeH
|
bb0e4d4131
|
使用DragonReach启动shell,修改getdents (#391)
* 使用DragonReach启动shell,修改getdents
* 更改关闭pipe时断言报错问题,以及DragonReach启动shell阶段版本
* 修改目录结构
* update
* 解决小问题
* 调整dragon reach版本号
* 设置make clean的时候不清空应用程序的缓存。
指定relibc版本号
---------
Co-authored-by: longjin <longjin@RinGoTek.cn>
|
2023-09-30 16:36:06 +08:00 |
|
LoGin
|
1496ba7b24
|
进程管理模块重构完成 (#380)
* 添加新版pcb的数据结构 (#273)
* 将pcb中的内容分类,分别加锁 (#305)
* 进程管理重构:完成fork的主体逻辑 (#309)
1.完成fork的主体逻辑
2.将文件系统接到新的pcb上
3.经过思考,暂时弃用signal机制,待进程管理重构完成后,重写signal机制.原因是原本的signal机制太烂了
* chdir getcwd pid pgid ppid (#310)
---------
Co-authored-by: longjin <longjin@RinGoTek.cn>
* 删除旧的fork以及signal的代码,并调整fork/vfork/execve系统调用 (#325)
1.删除旧的fork
2.删除signal相关代码,等进程管理重构结束之后,再重新写.
3.调整了fork/vfork/execve系统调用
* 实现切换进程的代码 (#331)
* 实现切换进程的代码
* Patch modify preempt (#332)
* 修改设置preempt的代码
* 删除rust的list和refcount
* 为每个核心初始化idle进程 (#333)
* 为每个核心初始化idle进程
* 完成了新的内核线程机制 (#335)
* 调度器的pcb替换为新的Arc<ProcessControlBlock>,把调度器队列锁从 RwSpinLock 替换为了 SpinLock (#336)
* 把调度器的pcb替换为新的Arc<ProcessControlBlock>
* 把调度器队列锁从 RwSpinLock 替换为了 SpinLock ,修改了签名以通过编译
* 修正一些双重加锁、细节问题
---------
Co-authored-by: longjin <longjin@RinGoTek.cn>
* github workflow自动检查代码是否格式化
* cache toolchain yml
* 调整rust版本的waitqueue中的pcb为新版的pcb (#343)
* 解决设置rust workspace带来的“工具链不一致”的问题 (#344)
* 解决设置rust workspace带来的“工具链不一致”的问题
更改workflow
* 调整pcb的sched_info和rwlock,以避免调度器死锁问题 (#341)
* 调整pcb的sched_info和rwlock,以避免调度器死锁问题
* 修改为在 WriterGuard 中维护 Irq_guard
* 修正了 write_irqsave方法
* 优化了代码
* 把 set state 操作从 wakup 移动到 sched_enqueue 中
* 修正为在 wakeup 中设置 running ,以保留 set_state 的私有性
* 移除了 process_wakeup
* 实现进程退出的逻辑 (#340)
实现进程退出的逻辑
* 标志进程sleep
* 修复wakeup的问题
---------
Co-authored-by: longjin <longjin@RinGoTek.cn>
* rust 重构 completion (#350)
* 完成了completion的基本结构,待完善上级调用
* 用SpinLock保护结构体并发安全
* 修改原子变量为u32,修复符号错误
* irq guard
* 修改为具有内部可变性的结构体
* temp fix
* 修复了由于进程持有自旋锁导致的不被调度的问题
* 对 complete 系列方法上锁,保护 done 数据并发安全
* 移除了未使用的依赖
* 重写显示刷新驱动 (#363)
* 重构显示刷新驱动
* Patch refactor process management (#366)
* 维护进程树
* 维护进程树
* 更改代码结构
* 新建进程时,设置cwd
* 调整adopt childern函数,降低开销
---------
Co-authored-by: longjin <longjin@RinGoTek.cn>
* waitqueue兼容C部分 (#351)
* PATH
* safe init
* waitqueue兼容C部分
* waitqueue兼容C部分
* 删除semaphore.c,在ps2_keyboard中使用waitqueue
* 删除semaphore.c,在ps2_keyboard中使用waitqueue
* current_pcb的C兼容
* current_pcb的C兼容
* current_pcb的C兼容
* fmt
* current_pcb的兼容
* 针对修改
* 调整代码
* fmt
* 删除pcb的set flags
* 更改函数名
---------
Co-authored-by: longjin <longjin@RinGoTek.cn>
* merge master
* Patch debug process management refactor (#372)
* 能够调通,执行完textui_init
* 能跑到initial kernel thread
* fmt
* 能够正常初始化所有服务(尚未能切换到用户程序)
* 删除部分无用的extern
* 存在问题:ap处理器启动后,bsp的smp_init函数return之后就出错了,怀疑是栈损坏
* 解决smp启动由于未换栈导致的内存访问错误
* debug
* 1
* 1
* lock no preempt
* 调通
* 优化代码,删除一些调试日志
* fix
* 使用rust重写wait4 (#377)
* 维护进程树
* 维护进程树
* 更改代码结构
* 新建进程时,设置cwd
* 调整adopt childern函数,降低开销
* wait4
* 删除c_sys_wait4
* 使用userbuffer保护裸指针
---------
Co-authored-by: longjin <longjin@RinGoTek.cn>
* 消除warning
* 1. 修正未设置cpu executing的问题
* 修正kthread机制可能存在的内存泄露问题
* 删除pcb文档
* 删除C的tss struct
---------
Co-authored-by: Bullet <93781792+GP-Bullet@users.noreply.github.com>
Co-authored-by: Chiichen <39649411+Chiichen@users.noreply.github.com>
Co-authored-by: hanjiezhou <zhouhanjie@dragonos.org>
Co-authored-by: GnoCiYeH <118462160+GnoCiYeH@users.noreply.github.com>
Co-authored-by: houmkh <1119644616@qq.com>
|
2023-09-15 14:58:19 +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 |
|
hanjiezhou
|
22c9db312a
|
Patch pipe2 (#364)
|
2023-09-13 00:58:01 +08:00 |
|
LoGin
|
d9113303d8
|
relibc与旧的C库同时开始编译 (#369)
|
2023-09-03 13:33:27 +08:00 |
|
LoGin
|
e92d022810
|
解决设置rust workspace带来的“工具链不一致”的问题 (#345)
更改workflow
|
2023-08-26 21:36:13 +08:00 |
|
LoGin
|
9a367aa7eb
|
添加github workflow,检查代码是否已经格式化 (#342)
* 添加github workflow,检查代码是否已经格式化
|
2023-08-24 18:50:52 +08:00 |
|
hanjiezhou
|
abe3a6ea3c
|
Patch refactor scm and textui (#289)
* 重构屏幕管理器和textui框架
* 切换字体为spleen,并增加对字体的抽象
* 修正文档
---------
Co-authored-by: longjin <longjin@RinGoTek.cn>
|
2023-08-20 00:19:36 +08:00 |
|
LoGin
|
5db5a5652c
|
Patch add 0.1.8 changelog (#334)
* 删除无用代码,并把about app的版本号更新为0.1.8
* v0.1.8 changelog
* 修正未安装rust-src的问题
* 完善文档
|
2023-08-17 00:10:18 +08:00 |
|
LoGin
|
6d81180b3b
|
移植sqlite3,并修复一些bug (#323)
* bugfix: 程序加载器映射内存时,计算要映射的大小不正确的问题。
* 修正brk系统调用不符合规范的地方
* bugfix: 修正fat文件系统未能正确的扩展文件大小的bug
* 增加fcntl系统调用
* 移植sqlite3
|
2023-08-08 23:39:22 +08:00 |
|
LoGin
|
26887c6334
|
bugfix: 解决取消低地址映射时,错误的把重映射的物理页释放,从而导致的use after free问题。 (#321)
|
2023-08-07 01:38:52 +08:00 |
|
houmkh
|
be63f3b2b6
|
实现系统调用Fstat (#295)
* fstat
* 修改syscall.rs中的verify_area
|
2023-08-05 18:52:46 +08:00 |
|
LoGin
|
abf3f634bf
|
自动安装、更新dadk (#319)
* auto install/auto update dadk
|
2023-08-05 15:30:06 +08:00 |
|
LoGin
|
d6fd9c1e80
|
设置内核、relibc的远程为dragonos的git镜像站,防止国内网络问题导致编译失败 (#318)
|
2023-08-05 15:04:08 +08:00 |
|
LoGin
|
1a62e7767c
|
解决relibc的头文件没能识别__dragonos__定义的问题 (#315)
|
2023-08-02 18:11:05 +08:00 |
|
Chiichen
|
4da3758acf
|
修复了wait4的异常报错 (#312)
* 修复了wait4的异常报错
|
2023-08-02 14:29:59 +08:00 |
|