1173 Commits

Author SHA1 Message Date
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
LoGin
e232830c18
ci: 推送文档到s3时,不同步p/*目录下的文件 (#1050)
这些文件夹被用于其他子项目的文档
2024-11-15 00:10:32 +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
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
火花
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
黄铭涛
84c528f53d
fix(driver/virtio): 修改pci transport中断初始化的位置 (#1018)
* fix(driver/virtio): 修改pci transport中断初始化的位置
2024-10-29 00:26:16 +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
6171c42402
update rintotek message (#1003) 2024-10-21 01:24:07 +08:00
LoGin
abc421a67f
修正开发者参与指南的链接 (#1002) 2024-10-21 00:16:14 +08:00
sparkzky
01c18c64b1
feat:添加symlink系统调用 (#984)
* 添加symlink系统调用

* 修改FATInode的dname的获取逻辑

* 修改fat对Dname的处理,分离dname和inode缓存的key

---------

Co-authored-by: sparkzky <sparkhhhhhhhhh@outlook.com>
Co-authored-by: longjin <longjin@DragonOS.org>
2024-10-20 20:56:11 +08:00
LoGin
cae6182257
fix: 临时修复线程退出时处理tty前台进程组产生panic的bug (#985) 2024-10-18 17:47:28 +08:00
LoGin
dcd345f6d3
feat: 添加SYS_MKDIRAT系统调用 (#986)
将内核原本实现的do_mkdir_at暴露出来,实现SYS_MKDIRAT

Signed-off-by: longjin <longjin@DragonOS.org>
2024-10-17 11:38:40 +08:00
LoGin
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
GnoCiYeH
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
LoGin
40db1e61da
ci: add-bpf-linker-to-ci-image (#972)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-10-12 01:20:43 +08:00
Jomo
53629ac383
feat: 释放slab中的空闲页面到buddy (#932)
* patch: 释放slab中的空闲页面到buddy

* 校验释放的slab_page的起始地址与大小 & SCAllcator增加空闲块计数器
2024-10-12 00:57:16 +08:00
LoGin
79eda4bcf9
ci: fix docker run failed (#961)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-10-10 03:06:48 +08:00
LoGin
056c4aad81
ci: auto build docker images (#960) 2024-10-10 01:31:59 +08:00
LoGin
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
LoGin
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
MemoryShore
a8753f8fff
feat(tty): 实现发送SIGINT终止信号 (#952)
* 实现SIGINT终止信号传递

* 添加test_sigint测试程序
2024-10-09 19:02:14 +08:00
Jomo
52dc4c3ee8
fix: 修复root用户信息未正确换行的问题 (#955) 2024-10-07 23:45:52 +08:00
MemoryShore
40d05bcc99
修复vnc启动失败的问题 (#951) 2024-10-01 19:44:17 +08:00
LoGin
d031d46fd9
feat: 添加serial console,支持non-graphic启动 (#947)
Signed-off-by: longjin <longjin@dragonos.org>
2024-10-01 11:35:48 +08:00
MemoryShore
103f13024b
修复tcsetpgrp函数设置进程组不正确的问题 (#950) 2024-09-30 21:19:31 +08:00
LoGin
047dbfd44b
fix(kbd): 修复键盘命令解析器生成的字节码与Linux不一致的问题 (#946)
Signed-off-by: longjin <longjin@dragonos.org>
2024-09-29 03:15:21 +08:00
LoGin
920bda5958
doc: 添加在github上编辑的按钮,以及扩展footer (#940)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-09-25 23:53:23 +08:00
LoGin
09dacded09
doc: add commit revision to footer while build with sphinx-multiversion (#939)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-09-25 22:53:31 +08:00
LoGin
013ffb708f
feat(ida): IDA内部改为使用XArray实现 (#934)
目前可以记录哪些ID已经分配,支持了ID释放的功能.

Signed-off-by: longjin <longjin@DragonOS.org>
2024-09-25 11:20:52 +08:00
LoGin
9ad34ef277
ci: fix awscli botcore (#937)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-09-25 03:04:12 +08:00
LoGin
2f9b18ba8e
ci: deploy documents to minio (#936)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-09-25 02:55:16 +08:00