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
e92424df8d
fix(mm): 修复fat文件系统的PageCache同步问题 ( #1005 )
...
---------
Co-authored-by: longjin <longjin@DragonOS.org >
2025-01-01 23:38:00 +08:00
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
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
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
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
f438808421
纸糊忙等tcp connecting,尚不明确连接可用的机制。
2024-11-20 16:59:11 +08:00
1a046769ee
merge main
2024-11-13 20:08:46 +08:00
aaf9a5f2e6
turn off syscall printing, remove unused imports and make fmt
2024-11-13 17:59:03 +08:00
ff76b0fcb8
修复tty处理信号时错误地将前台进程组置空的问题 & clone时未拷贝父进程tty的问题 ( #1043 )
...
* 修复clone时未拷贝父进程tty的问题
* 修复tty处理信号时错误地将前台进程组置空的问题
2024-11-12 16:31:13 +08:00
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
f5c732d8dc
fix(video): 增加了对frame buffer操作的安全检查 ( #1034 )
...
fix(video): 增加了对frame buffer操作的安全检查
2024-11-10 23:46: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
84c528f53d
fix(driver/virtio): 修改pci transport中断初始化的位置 ( #1018 )
...
* fix(driver/virtio): 修改pci transport中断初始化的位置
2024-10-29 00:26:16 +08:00
4dd4856f93
fix(tty): 修复tty对tab进行处理时产生数组越界panic的问题 ( #1015 )
...
Signed-off-by: longjin <longjin@DragonOS.org >
2024-10-26 12:55:31 +08:00
a9e28e9ce9
fix: 临时修复键盘驱动与鼠标驱动冲突导致键盘无响应 ( #1014 )
...
暂时通过条件编译的方式解决. 目前认为是鼠标驱动问题,没有正确判断是不是自己的数据...
但是因为我们场景下,鼠标驱动几乎用不到,因此先条件编译屏蔽.
Signed-off-by: longjin <longjin@DragonOS.org >
2024-10-26 12:55:19 +08:00
dc60d68f0e
fix: tty刷新线程初始化之前,键盘产生数据导致崩溃的问题 ( #1013 )
...
Signed-off-by: longjin <longjin@DragonOS.org >
2024-10-26 12:55:06 +08:00
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
acfceaa42e
fix: 修复网卡顺序的bug ( #996 )
...
* fix: 修复网卡顺序的bug
* make fmt
* feat: 添加默认网卡字段
* make fmt
* 删掉奇怪加入的文件
2024-10-20 20:29:24 +08:00
15cedf3085
去除virtio_blk, virtio_net expect错误处理,直接返回错误
2024-10-17 16:15:40 +08:00
acd348572d
fmt
2024-10-17 07:49:55 +00:00
c9806be704
loopback assign single ip, remove unnecessary comments
2024-10-17 07:41:46 +00:00
149fc8377c
remove unnecessary warnings and impls
2024-10-17 07:25:17 +00:00
b9f27f44e4
fix it back to old syscall printing style
2024-10-17 06:05:49 +00:00
de148a1dd6
remove unused imports
2024-10-16 08:15:04 +00:00
b9f04fc3a4
merge upstream
2024-10-16 12:32:37 +08:00
7025b76ef9
fmt
2024-10-16 12:23:47 +08:00
4a2b5932cc
remove uevent and netlink
2024-10-16 12:10:12 +08:00
d7be7deebc
清理积弊,不必要的动态分发和智能指针
2024-10-15 23:06:41 +08:00
63ccb53a91
merge master
2024-10-14 12:27:38 +00:00
bca536ec9b
clean debug messages
2024-10-14 12:20:46 +00:00
8fe49e190e
make fmt
2024-10-14 12:11:27 +00:00
7cebb88792
can ctrl-c interupt from blocking accept
2024-10-14 12:01:32 +00:00
49000bcc05
删除无用注释
2024-10-14 12:35:35 +08:00
e67348c9b6
修改net设备的uevent内容,使之与Linux语义一致
2024-10-14 00:24:52 +08:00
f9fe30be89
feat(boot): 内核启动命令行参数解析 ( #969 )
...
支持解析启动命令行参数,行为与Linux一致。具体见文档。
bbs链接:https://bbs.dragonos.org.cn/t/topic/362
issue: https://github.com/DragonOS-Community/DragonOS/issues/865
支持了三种参数:
- Arg (不带Value的参数)
- KV (正常的KV参数)
- EarlyKV (在内存管理初始化之前解析)
# TODO
- 支持在`/proc/cmdline`下面查看内核启动时的命令行参数。
- 支持回调函数,允许更加灵活的设置参数的值(目前用不到,就没写了)
Signed-off-by: longjin <longjin@DragonOS.org >
2024-10-13 23:39:55 +08:00
178486f1e5
新增CommonAttrGroup,基本支持sysfs下各种类型设备的uevent属性文件的读测试
2024-10-13 22:22:34 +08:00
c709f79fda
feat(tty): 将tty设备适配epoll,修改串口部分问题 ( #968 )
...
- tty文件适配epoll,使epoll能够监听tty
- 修改串口handle_irq,原有每次只读取一个字节会导致:输入left(esc+[+A)被错误解析为(esc)+([)+(A)三个字符
- 为串口加上vcdata用于控制输入输出的格式问题(未解决,这个pr捎带)
2024-10-13 01:10:36 +08:00
4e4ce68e03
updates uevent and make fmt
2024-10-11 23:56:12 +08:00
40d9375b6b
ready for merge in master ( #964 )
...
uevent should be format
Enum of smoltcp socket should be optimized.
need to add interface for routing subsys
actix is still not abled to run.
clean some casual added code to other places
2024-10-10 17:53:39 +08:00
415e46ea47
build: Remove DragonOS_GCC And make CI use docker image ( #954 )
...
* build: 不再需要x86_64-elf-gcc的支持
* ci: 添加ci用的docker镜像
* 切换workflow到构建用的容器上
---------
Signed-off-by: longjin <longjin@DragonOS.org >
2024-10-10 00:59:50 +08:00
1bd12bc2ff
fix(driver/net): 修复iface设备无法中断的bug ( #957 )
2024-10-09 21:44:12 +08:00
59a6bcf6ae
feat: Add HVM boot support for x86_64 ( #953 )
...
Signed-off-by: longjin <longjin@DragonOS.org >
2024-10-09 21:36:18 +08:00
a8753f8fff
feat(tty): 实现发送SIGINT终止信号 ( #952 )
...
* 实现SIGINT终止信号传递
* 添加test_sigint测试程序
2024-10-09 19:02:14 +08:00
d031d46fd9
feat: 添加serial console,支持non-graphic启动 ( #947 )
...
Signed-off-by: longjin <longjin@dragonos.org >
2024-10-01 11:35:48 +08:00
103f13024b
修复tcsetpgrp函数设置进程组不正确的问题 ( #950 )
2024-09-30 21:19:31 +08:00
013ffb708f
feat(ida): IDA内部改为使用XArray实现 ( #934 )
...
目前可以记录哪些ID已经分配,支持了ID释放的功能.
Signed-off-by: longjin <longjin@DragonOS.org >
2024-09-25 11:20:52 +08:00
28fe4ad2a0
feat(driver/net): 将网络设备注册到sysfs, 添加设备类属性文件 ( #919 )
2024-09-11 14:30:53 +08:00