火花
95f5e0807e
make fmt ( #1109 )
2025-03-18 20:42:09 +08:00
longjin
17aa298971
refactor: 将设备名称 "lo" 提取为常量 DEVICE_NAME
...
Signed-off-by: longjin <longjin@DragonOS.org>
2025-03-13 13:33:20 +08:00
9700b685d6
cleanup codes
2025-03-12 11:37:21 +08:00
a22408b65b
Revert "Merge Master"
2025-03-12 11:12:03 +08:00
b361310953
fmt
2025-03-11 09:08:38 +08:00
LoGin
5644e716e1
fix: 在插入新的timer时,边界条件判断不正确的问题 ( #1091 )
...
修复split_pos 初始值错误导致原本应该被插入到链表末尾的定时器,插入到了链表头
Signed-off-by: longjin <longjin@DragonOS.org>
2025-03-11 09:06:54 +08:00
Z Fan
3364e0424f
feat(virtualization): 内核虚拟化支持 ( #1073 )
...
* 几个结构体
* 通过vmx_init以及create_vm,create_vcpu部分TODO
* kvm_run完成一半
* 能够成功vmlaunch,但是在vmexit时候还有些问题未排查出来
* 解决了vmlaunch导致的cpu_reset的问题
* 整理代码
* 暂时性push到hyc仓库
* 修改内存虚拟化部分参数传入,解决死锁问题
* 初步完成ept映射.但不停EPT_VIOLATION
* 初步完成了EPT映射,但是读写内存还是有点问题
* fixme
* 更新了一些truncate到from_bits_unchecked的实现
* 完成内存虚拟化EPT_VIOLATION的映射
* fmt
* Remove /fixme from .gitignore
* Remove /fixme file
* Update kernel/src/init/init.rs
Co-authored-by: Samuel Dai <samuka007@dragonos.org>
* Update kernel/src/init/init.rs
Co-authored-by: Samuel Dai <samuka007@dragonos.org>
* 修改了注释格式,删除了附带的一些文件操作
* feat(syscall): 实现syscall restart (#1075 )
能够在系统调用返回ERESTARTSYS时,信号处理结束后,自动重启系统调用.
TODO: 实现wait等需要restart_block的系统调用的重启
Signed-off-by: longjin <longjin@DragonOS.org>
* chore: update docker image version in script && update doc (#1076 )
* chore: update docker image version in script
* chore: replace lots of spaces with newline in doc
* fix: 修复wait4系统调用部分语义与Linux不一致的问题 (#1080 )
* fix: 修复wait4系统调用部分语义与Linux不一致的问题
解决wait不住/wait之后卡死的bug
---------
Signed-off-by: longjin <longjin@DragonOS.org>
* feat(fs/syscall): 实现fchdir系统调用 (#1081 )
Signed-off-by: longjin <longjin@DragonOS.org>
* fix(mm): 修复fat文件系统的PageCache同步问题 (#1005 )
---------
Co-authored-by: longjin <longjin@DragonOS.org>
* fix: 修正nographic启动时,控制台日志未能输出到文件的问题 (#1082 )
Signed-off-by: longjin <longjin@DragonOS.org>
* fix(process): 修复copy_process的一些bug & 支持默认init进程传参 (#1083 )
- 修复`copy_process`函数对标志位处理不正确的bug
- init进程搜索列表中,支持为默认init程序传入参数
Signed-off-by: longjin <longjin@DragonOS.org>
* feat: 完善sys_reboot (#1084 )
* fix(process): 修复copy_process的一些bug & 支持默认init进程传参
- 修复`copy_process`函数对标志位处理不正确的bug
- init进程搜索列表中,支持为默认init程序传入参数
Signed-off-by: longjin <longjin@DragonOS.org>
* feat: 完善sys_reboot
- 校验magic number
- 支持多个cmd (具体内容未实现)
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
* fix: 修复do_wait函数在wait所有子进程时,忘了释放锁就sleep的bug (#1089 )
Signed-off-by: longjin <longjin@DragonOS.org>
* pull主线并且fmt
---------
Signed-off-by: longjin <longjin@DragonOS.org>
Co-authored-by: GnoCiYeH <heyicong@dragonos.org>
Co-authored-by: Samuel Dai <samuka007@dragonos.org>
Co-authored-by: LoGin <longjin@DragonOS.org>
Co-authored-by: LIU Yuwei <22045841+Marsman1996@users.noreply.github.com>
Co-authored-by: MemoryShore <1353318529@qq.com>
2025-03-11 09:06:54 +08:00
LoGin
152dbf125a
fix: 修复do_wait函数在wait所有子进程时,忘了释放锁就sleep的bug ( #1089 )
...
Signed-off-by: longjin <longjin@DragonOS.org>
2025-03-11 09:06:54 +08:00
LoGin
5b4d581e92
feat: 完善sys_reboot ( #1084 )
...
* fix(process): 修复copy_process的一些bug & 支持默认init进程传参
- 修复`copy_process`函数对标志位处理不正确的bug
- init进程搜索列表中,支持为默认init程序传入参数
Signed-off-by: longjin <longjin@DragonOS.org>
* feat: 完善sys_reboot
- 校验magic number
- 支持多个cmd (具体内容未实现)
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
2025-03-11 09:06:54 +08:00
LoGin
55d7280a51
fix(process): 修复copy_process的一些bug & 支持默认init进程传参 ( #1083 )
...
- 修复`copy_process`函数对标志位处理不正确的bug
- init进程搜索列表中,支持为默认init程序传入参数
Signed-off-by: longjin <longjin@DragonOS.org>
2025-03-11 09:06:54 +08:00
69dde46586
fix(net): misc of resources release ( #1096 )
...
* fix: TCP socket miss activation after close
* fix: TCP socket miss activation after close (#1085 )
* fix: loopback, udp resource aquire
- remove tcp useless status update
- enable smoltcp medium-ip feature
- change loopback device use ip for addressing, avoid arp procedure
- fix udp couldn't close bug
- fix udp resource aquire didn't lock port
- remove useless Timer in network initialization
* fmt: format
* fix: loopback and udp resource problem (#1086 )
* fix: loopback, udp resource aquire
- remove tcp useless status update
- enable smoltcp medium-ip feature
- change loopback device use ip for addressing, avoid arp procedure
- fix udp couldn't close bug
- fix udp resource aquire didn't lock port
- remove useless Timer in network initialization
* fix(net): Unix 资源释放 (#1087 )
* unix socket 相关资源释放 #991
* 完善streamsocket资源释放
* 解决inode和id不匹配
* fix TCP socketset release (#1095 )
* fix: TCP socket miss activation after close
* fix: loopback, udp resource aquire
- remove tcp useless status update
- enable smoltcp medium-ip feature
- change loopback device use ip for addressing, avoid arp procedure
- fix udp couldn't close bug
- fix udp resource aquire didn't lock port
- remove useless Timer in network initialization
---------
Co-authored-by: YuLong Huang <139891737+LINGLUO00@users.noreply.github.com>
2025-03-10 12:58:39 +08:00
c4c35ed0cc
Merge remote-tracking branch 'upstream/master' into feat-network-rebuild
2025-01-12 20:30:27 +08:00
MemoryShore
e92424df8d
fix(mm): 修复fat文件系统的PageCache同步问题 ( #1005 )
...
---------
Co-authored-by: longjin <longjin@DragonOS.org>
2025-01-01 23:38:00 +08:00
LoGin
a08191c719
feat(fs/syscall): 实现fchdir系统调用 ( #1081 )
...
Signed-off-by: longjin <longjin@DragonOS.org>
2025-01-01 23:36:37 +08:00
LoGin
bcf0382763
fix: 修复wait4系统调用部分语义与Linux不一致的问题 ( #1080 )
...
* fix: 修复wait4系统调用部分语义与Linux不一致的问题
解决wait不住/wait之后卡死的bug
---------
Signed-off-by: longjin <longjin@DragonOS.org>
2025-01-01 14:25:46 +08:00
LoGin
2b72148cae
feat(syscall): 实现syscall restart ( #1075 )
...
能够在系统调用返回ERESTARTSYS时,信号处理结束后,自动重启系统调用.
TODO: 实现wait等需要restart_block的系统调用的重启
Signed-off-by: longjin <longjin@DragonOS.org>
2024-12-13 00:56:20 +08:00
linfeng
72423f90bb
feat(ebpf): support Aya framework. ( #1070 )
...
* feat(ebpf): support Aya framework.
1. fix the rbpf bug
2. use new Aya template
3. add kprobe related device files and attributes to sysfs
---
Signed-off-by: chenlinfeng <chenlinfeng25@outlook.com>
2024-12-07 16:41:37 +08:00
火花
6e85059fbc
feat:添加sigprocmask系统调用 ( #1046 )
...
* 添加sigprocmask系统调用
---------
Signed-off-by: sparkzky <sparkhhhhhhhhh@outlook.com>
Co-authored-by: longjin <longjin@DragonOS.org>
2024-12-07 16:36:55 +08:00
LoGin
4f8f269baf
fix: 解决进程退出时没有主动释放fdtable的问题 ( #1069 )
...
会导致http server被kill时,pcb没有drop
Signed-off-by: longjin <longjin@DragonOS.org>
2024-12-02 00:39:52 +08:00
longjin
0e6201779a
fmt
2024-11-29 13:06:04 +00:00
longjin
b9c07e0be2
Merge remote-tracking branch 'origin/master' into patch-merge-master-1129
2024-11-29 13:01:15 +00:00
LoGin
ffa8e88c60
fix:命名管道读行为不符合posix规范问题 ( #1066 )
...
fix(pipe): 增强FIFO管道的读写逻辑,解决问题一:非阻塞模式下的无写端错误返回
feat(test_fifo_write): 增强FIFO写入测试,添加信号处理、非阻塞模式支持和多场景测试
---------
Signed-off-by: xiaolin2004 <1553367438@qq.com>
Co-authored-by: xiaolin2004 <1553367438@qq.com>
2024-11-28 23:57:19 +08:00
0896c3311c
Merge pull request #1064 from fslongjin:patch-fix-a-locking-problem
...
fix: 修正IfaceCommon的bounds字段的锁使用问题&调度问题
2024-11-28 22:26:17 +08:00
xiaolin2004
bbea79ec19
feat(socket): 添加shutdown方法并实现ShutdownTemp的TryFrom转换
2024-11-28 19:20:01 +08:00
xiaolin2004
57e0b2e96a
feat(socket): 实现shutdown系统调用的基础结构并启用相关方法
2024-11-28 14:38:54 +08:00
LoGin
df3bf6d60a
fix: 修复无唤醒事件时,核心卡死在idle进程的问题 ( #1063 )
...
Signed-off-by: longjin <longjin@DragonOS.org>
2024-11-28 14:33:14 +08:00
longjin
b7495981f4
fix: 修正IfaceCommon的bounds字段的锁使用问题&调度问题
...
- 中断上下文内用到的锁,在外面要irqsave.
- 把主线调度的pr应用到当前分支: https://github.com/DragonOS-Community/DragonOS/pull/1063
Signed-off-by: longjin <longjin@DragonOS.org>
2024-11-27 17:12:11 +00:00
LoGin
62da73bbe5
fix: 修正进程pcb的on_cpu
字段未设置导致的panic问题 ( #1057 )
...
Signed-off-by: longjin <longjin@DragonOS.org>
2024-11-28 01:04:48 +08:00
longjin
14c21430a5
Merge branch 'master' into feat-network-rebuild
...
Signed-off-by: longjin <longjin@DragonOS.org>
2024-11-27 14:34:12 +00:00
linfeng
539ee3eaeb
fix(backtrace):Use more reasonable compile options ( #1056 )
...
* fix(backtrace):Use more reasonable compile options
* 调整代码,同时解决rust analyzer未能提示warning的问题
---------
Co-authored-by: longjin <longjin@DragonOS.org>
2024-11-25 16:28:05 +08:00
dab9a7aad8
turn off syscall
2024-11-20 17:04:12 +08:00
f438808421
纸糊忙等tcp connecting,尚不明确连接可用的机制。
2024-11-20 16:59:11 +08:00
linfeng
081428c0d8
feat: update to new backtrace lib ( #1049 )
...
* feat: update to new backtrace lib
* feat: enable unwind for riscv64
---------
Co-authored-by: longjin <longjin@DragonOS.org>
2024-11-19 21:55:22 +08:00
linfeng
750b3b5d91
feat(debug)[WIP]: add static-keys support ( #1025 )
...
* feat: add static-keys support
2024-11-16 16:21:20 +08:00
1a046769ee
merge main
2024-11-13 20:08:46 +08:00
e4115c9724
turn off syscall printings
2024-11-13 18:02:36 +08:00
aaf9a5f2e6
turn off syscall printing, remove unused imports and make fmt
2024-11-13 17:59:03 +08:00
d6755136f8
Merge branch 'DragonOS-Community:feat-network-rebuild' into feat-network-rebuild
2024-11-13 16:40:46 +08:00
MemoryShore
ff76b0fcb8
修复tty处理信号时错误地将前台进程组置空的问题 & clone时未拷贝父进程tty的问题 ( #1043 )
...
* 修复clone时未拷贝父进程tty的问题
* 修复tty处理信号时错误地将前台进程组置空的问题
2024-11-12 16:31:13 +08:00
LoGin
0f094e50de
fix: 修复了do execve 加载程序失败时,没能正确返回错误码给用户态的问题 ( #1042 )
...
* fix: 修复了do execve 加载程序失败时,没能正确返回错误码给用户态的问题
2024-11-12 14:01:26 +08:00
linfeng
7c28051e8c
chore: update toolchain version to 2024-11-05 ( #1031 )
...
* chore: update toolchain version to 2024-11-05
* update dragon reach to e945c217b3
* update dog to 6f2c0c8f12
---------
Co-authored-by: longjin <longjin@DragonOS.org>
2024-11-11 21:29:15 +08:00
曾俊
69715438f2
feat(pci): 解决了pci总线子系统中pci结构一致性问题,增加了pci设备的可读属性 ( #1009 )
...
---------
Co-authored-by: 黄铭涛 <1037827920@qq.com>
2024-11-11 20:57:08 +08:00
smallcjy
4e8c71b9eb
fix: fix udp and run dog in udp
2024-11-11 16:24:37 +08:00
LoGin
20c58101dd
fix: do_signal函数在处理SIG_KILL时,有一处pcb强引用未归零的问题 ( #1039 )
...
Signed-off-by: longjin <longjin@DragonOS.org>
2024-11-11 11:38:57 +08:00
曾俊
f5c732d8dc
fix(video): 增加了对frame buffer操作的安全检查 ( #1034 )
...
fix(video): 增加了对frame buffer操作的安全检查
2024-11-10 23:46:56 +08:00
2b180c4fa5
debug and add socket option level print
2024-11-08 14:54:56 +08:00
ff13f9f622
fix(net): TCP Resources and add syscall print, change to use latest smoltcp ( #1032 )
...
* change to smoltcp
* add syscall, fix wront accept-listen logic
* add version and resource close
2024-11-07 14:38:31 +08:00
火花
01b8a76cdc
修复阻塞阅读eventfd时无法被中断的bug ( #1030 )
...
Co-authored-by: sparkzky <sparkhhhhhhhhh@outlook.com>
2024-11-05 16:47:44 +08:00
LoGin
c7ad61d495
fix: 删除在 #949 中意外添加的旧版ida ( #1027 )
...
https://github.com/DragonOS-Community/DragonOS/pull/949
Signed-off-by: longjin <longjin@DragonOS.org>
2024-10-31 22:14:45 +08:00
codeironman
f5b2038871
ospp project (feature) add namespace overlayfs cgroup ( #949 )
...
## 开发进展:
## namespace
- pid_namespace 基本实现,基于pid_struct等数据结构实现隔离
- mnt_namespace 基本实现,挂载点的隔离通过不同的挂载树来实现
- usernamespace 作为支持性的namespace,目前受限实现全局静态
## overlayfs
- 实现若干个文件系统的叠加,在mount中传入多个路径作为多个fs的mount路径以及最后merge层的fs路径
- copy-up机制的,除最上层外其他层为只读层,满足写时拷贝,需要修改的时候copy到上层修改
- whiteout特殊文件,用于标记在下层需要被删除的文件用来掩盖需要删除的文件
## cgroups
- 目前cgroups还处于框架阶段,之后具体实现具体的内存、CPU等子系统
2024-10-31 00:50:34 +08:00