1233 Commits

Author SHA1 Message Date
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
LoGin
e8b1db320d
chore: Bump dadk to 0.2.0 (#1058)
# 概述

把dadk版本升级到0.2.0

dadk 0.2.0能够提升编译速度,并且支持使用dadk对内核进行profiling。
新版dadk的文档: https://docs.dragonos.org.cn/p/dadk/

# 注意

这是一个breaking change,升级后,将无法使用dadk 0.2.0去编译旧的项目。如有需要,请手动降级到dadk 0.1.11:
```shell
cargo install --git  https://git.mirrors.dragonos.org.cn/DragonOS-Community/DADK --tag v0.1.11
```

# 更改列表

* chore: 把管理用户程序编译的dadk配置文件改为新格式的

* feat: 使用新版dadk来创建\挂载\卸载磁盘镜像

* chore: bump dadk min version to 0.2.0

* chore: fix ci

* chore: 更新github ci镜像到1.7

* doc: 添加文档

---------
Co-Authored-by: xuzihao <xuzihao@dragonos.org>
Signed-off-by: longjin <longjin@DragonOS.org>
2024-11-27 01:30:31 +08: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
yuyi2439
23ccf763b6
fix(user): 修复clean ./user时出现参数过长的问题 (#1037) 2024-11-22 22:49:10 +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
LoGin
2cac148dc1
doc: 添加dadk文档的链接,并且修正namespace文档的一些问题 (#1053)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-11-18 20:57:23 +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
bd5f713617
Merge pull request #1048 from Samuka007/feat-network-rebuild
fix(net): merge master and make fmt
2024-11-15 17:46:21 +08:00
LoGin
e232830c18
ci: 推送文档到s3时,不同步p/*目录下的文件 (#1050)
这些文件夹被用于其他子项目的文档
2024-11-15 00:10:32 +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
7411864225
Merge pull request #1041 from smallcjy:fix-udp
fix: fix udp and run dog in udp
2024-11-13 16:39:35 +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
LoGin
5d54e74768
fix: add gitignore to test_namespace (#1038) 2024-11-10 20:04:23 +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
MemoryShore
2e7e4cecb0
Update NovaShell to cb835e03e4 (#1022) 2024-10-31 13:48:23 +08:00
LoGin
7b0ef10895
ci: change rust src to crates-io-index while using GitHub workflow (#1023)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-10-31 01:05:34 +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
Cai Junyuan
055c1448e3
feat(doc):添加网络子系统模块 (#1020)
* feat(doc): 添加网络子系统文档

* make fmt
2024-10-30 14:46:44 +08:00
黄铭涛
84c528f53d
fix(driver/virtio): 修改pci transport中断初始化的位置 (#1018)
* fix(driver/virtio): 修改pci transport中断初始化的位置
2024-10-29 00:26:16 +08:00
Cai Junyuan
fad1c09757
feat(net): 实现unix抽象地址空间 (#1017) 2024-10-28 20:29:08 +08:00
火花
55e6f0b65f
feat:添加chown系统调用 (#962)
* 添加chown系统调用

---------

Co-authored-by: sparkzky <sparkhhhhhhhhh@outlook.com>
Co-authored-by: longjin <longjin@DragonOS.org>
2024-10-26 18:13:25 +08:00
LoGin
7f46e98e36
chore: 修改traigebot配置(关于sig-obs & Test) (#1016)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-10-26 17:14:41 +08:00
LoGin
4dd4856f93
fix(tty): 修复tty对tab进行处理时产生数组越界panic的问题 (#1015)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-10-26 12:55:31 +08:00
LoGin
a9e28e9ce9
fix: 临时修复键盘驱动与鼠标驱动冲突导致键盘无响应 (#1014)
暂时通过条件编译的方式解决. 目前认为是鼠标驱动问题,没有正确判断是不是自己的数据...
但是因为我们场景下,鼠标驱动几乎用不到,因此先条件编译屏蔽.

Signed-off-by: longjin <longjin@DragonOS.org>
2024-10-26 12:55:19 +08:00
LoGin
dc60d68f0e
fix: tty刷新线程初始化之前,键盘产生数据导致崩溃的问题 (#1013)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-10-26 12:55:06 +08:00
LoGin
37c2359ac4
ci: 删除PR #948 代入的cache-toolchain.toml (#1012) 2024-10-25 18:59:54 +08:00
linfeng
fae6e9ade4
feat(ebpf):[WIP] add eBPF support (#948)
* feat(kprobe): Add basic kprobe support for x86_64

* feat: add ebpf support (#912)

- 实现bpf()一部分命令,包括几种基本map,相关的helper函数
- 实现部分perf相关的数据结构
- 暂时为文件实现简单mmap
- 实现一个使用kprobe统计syscall 调用次数的ebpf程序

对eBPF支持程度(基本):

- 简单的eBPF程序(没有指定特殊的Map)
- 使用内核已经实现的Map的eBPF程序
- 可以和kprobe配合使用
- 内核Map相关的接口定义已经实现,添加新的Map较为简单

不支持的功能:
- 区分不同的eBPF程序类型(Network/Cgroup)并限定可调用的helper函数集
- 与内核其它跟踪机制配合(tracepoint)
- 其它helper和Map


todo

- [ ]  修改mmap,需要讨论,因为这个和块缓存层相关
- [x]  添加文档
- [x]  修复可能的错误
- [x] 增加rbpf版本信息

* feat: add /sys/devices/system/cpu/possible file

* feat: add /sys/devices/system/cpu/online
2024-10-25 15:59:57 +08:00
黄铭涛
80c9e8f8f0
fix(tools):支持在无kvm支持下运行DragonOS (#1010)
* fix(tools):支持在无kvm支持下运行DragonOS

* fix: 修正问题:在非Linux上面加速选项选择的不正确

---------

Co-authored-by: jinlong <jinlong@tencent.com>
2024-10-25 14:26:37 +08:00
MemoryShore
b9966addf1
update novashell to 7bb802ad1e (#1006) 2024-10-22 22:32:50 +08:00
8189cb1771
Merge pull request #1004 from Samuka007/feat-network-rebuild
fix(net): address family错误返回错误导致的redis跑不起来
2024-10-21 22:36:59 +08:00
bca5197bdf make fmt 2024-10-21 11:02:31 +00:00
e0c725556d Merge remote-tracking branch 'upstream/feat-network-rebuild' into feat-network-rebuild 2024-10-21 08:42:39 +00:00
a303dd0964 fix: ipv6, AddressFamily有转换问题。 2024-10-21 08:42:11 +00:00
6171c42402
update rintotek message (#1003) 2024-10-21 01:24:07 +08:00