LoGin
d93301b512
feat: 实现基于异常表的安全用户空间内存访问机制 ( #1383 )
...
* feat: 实现基于异常表的安全用户空间内存访问机制
- 新增异常表机制,在系统调用中安全处理用户空间内存访问错误
- 实现带异常表保护的memcpy和memset函数,防止无效用户地址导致内核在内存拷贝处以及pagefault处理程序之间反复横跳
- 重构用户空间访问API,提供安全的UserBuffer包装类型
- 更新页错误处理程序,支持异常表修复路径
- 添加异常表测试程序,验证各种边界情况
- 更新内存管理文档,详细说明异常表设计原理和使用场景
Signed-off-by: longjin <longjin@DragonOS.org>
* chore: 更新应用黑名单配置
- 添加 test_ebpf_new, test_ebpf_tp 到黑名单,原因:aya上游发版问题导致CI失败
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
2025-11-18 21:02:07 +08:00
LoGin
1596425060
ci: 升级构建容器版本至v1.16 ( #1381 )
...
- 更新所有CI工作流文件中的容器镜像版本
- 修改构建脚本中的容器版本引用
- 更新构建容器版本配置文件
- 移除fork测试中的COWSegment测例
Signed-off-by: longjin <longjin@DragonOS.org>
2025-11-18 00:27:02 +08:00
LoGin
0874383697
feat(ci): 添加测试结果上传功能并优化构建流程 ( #1380 )
...
- 新增测试结果解析和上传工具,支持多种测试框架格式
- 在CI工作流中添加测试结果上传步骤
- 引入磁盘节省模式,优化构建缓存管理
- 更新DADK版本要求至0.5.1
Signed-off-by: longjin <longjin@DragonOS.org>
2025-11-17 22:01:13 +08:00
LoGin
8215106866
ci: 增强syscall测试监控脚本的健壮性 ( #1364 )
...
- 添加超时配置和进程自动检测机制
- 改进资源清理和错误处理逻辑
- 增加详细的诊断信息和进度报告
- 优化测试流程监控和超时处理
Signed-off-by: longjin <longjin@DragonOS.org>
2025-11-12 15:31:15 +08:00
LoGin
fbcc00ab39
chore: 将构建容器版本从v1.14升级到v1.15 ( #1353 )
...
Signed-off-by: longjin <longjin@DragonOS.org>
2025-11-10 17:31:06 +08:00
黄铭涛
b74420f48e
feat(test): 增加系统启动后执行syscall集成测试的make命令并将其加入流水线中 ( #1306 )
...
* feat(test): 增加系统启动后执行syscall集成测试的make命令并将其加入流水线中
2025-10-09 22:34:51 +08:00
LoGin
a8e4a826a4
feat(build, kernel): 添加内核版本信息生成与显示功能 ( #1269 )
...
添加了内核构建时自动生成版本信息的功能,包括版本号、构建时间、编译器信息、Git提交等。
在内核启动时打印版本信息,并可通过/proc/version文件查询。更新了about应用使用uname系统调用
Signed-off-by: longjin <longjin@DragonOS.org>
2025-08-28 13:16:31 +08:00
LoGin
fd2f96dfbd
doc: 0.2.0 release log未被加入sphinix索引树的问题 ( #1265 )
...
Signed-off-by: longjin <longjin@DragonOS.org>
2025-08-22 23:17:14 +08:00
LoGin
40e92db370
chore: Upgrade kernel toolchain to 250810 ( #1257 )
...
chore: 升级Rust工具链至nightly-2025-08-10
- 更新工作流容器版本至v1.14
- 升级Rust工具链至nightly-2025-08-10
- 更新多个依赖库版本(bitflags、gimli、itertools等)
- 修复代码格式和文档注释
- 优化内存对齐检查使用is_multiple_of()
- 改进错误处理和日志输出
- 移除过时的特性标记和代码
Signed-off-by: longjin <longjin@DragonOS.org>
2025-08-18 13:25:19 +08:00
LoGin
5ef0a83b59
ci: 优化文档翻译工作流配置 ( #1222 )
...
- 减少MAX_WORKERS从20降到5
- 更换OPENAI_MODEL为hunyuan-turbos-latest
Signed-off-by: longjin <longjin@DragonOS.org>
2025-06-29 17:27:35 +08:00
linfeng
723ac05719
feat: Update rbpf to mainline ( #1209 )
...
* feat: Update rbpf to mainline
Enable JIT compilation on x86 platform.
Signed-off-by: Godones <chenlinfeng25@outlook.com>
* fix: remove rbpf test
Signed-off-by: Godones <chenlinfeng25@outlook.com>
* fix: remove rbpf info
Signed-off-by: Godones <chenlinfeng25@outlook.com>
---------
Signed-off-by: Godones <chenlinfeng25@outlook.com>
2025-06-20 10:49:59 +08:00
LoGin
ae987c6f9a
doc: Add Q&A docs ( #1174 )
...
* docs: 添加常见问题解答文档并更新工作流配置
- 新增questions目录及构建错误FAQ文档
- 更新文档翻译工作流触发分支为master和doc-*
- 优化PR创建时的提交信息格式
Signed-off-by: longjin <longjin@DragonOS.org>
* ci: 改进文档翻译工作流并添加失败处理
- 添加获取短SHA步骤用于PR标题
- 在翻译脚本中添加失败退出逻辑
Signed-off-by: longjin <longjin@DragonOS.org>
* docs: Translation update [b7b5ea2c ] (#1173 )
* Update translated documentation
---------
Co-authored-by: dragonosbot <bot@dragonos.org>
* 1
* 1
---------
Signed-off-by: longjin <longjin@DragonOS.org>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: dragonosbot <bot@dragonos.org>
2025-05-23 02:02:48 +08:00
LoGin
6242ecb2bd
ci: 添加文档翻译的GitHub Actions工作流 ( #1171 )
...
* ci: 添加文档翻译的GitHub Actions工作流
新增了用于自动翻译文档的GitHub Actions工作流
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
2025-05-22 15:09:37 +08:00
chiichen
fccfa6f7ff
feat: 支持动态链接 ( #910 )
...
* feat: 支持动态链接
Authored-By: chiichen <chiichen@qq.com>
Co-authored-by: longjin <longjin@DragonOS.org>
Signed-off-by: longjin <longjin@DragonOS.org>
* build: 更新构建容器版本至v1.12并指定DADK安装版本
- 将BUILD_CONTAINER_VERSION从v1.11升级到v1.12
- 修改bootstrap.sh和user/Makefile中DADK的安装方式,明确指定版本v0.4.0
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@dragonos.org>
Co-authored-by: chiichen <chiichen@qq.com>
Co-authored-by: longjin <longjin@dragonos.org>
Co-authored-by: Jomo <xuzihao@dragonos.org>
Co-authored-by: MemoryShore <1353318529@qq.com>
2025-05-19 14:29:55 +08:00
LoGin
37aa18e09f
ci: 限制Docker镜像推送和CNB.cool同步任务仅在主仓库执行 ( #1150 )
...
Signed-off-by: longjin <longjin@DragonOS.org>
2025-05-07 13:20:06 +08:00
LoGin
187a501f4b
feat: 添加同步到CNB.cool的GitHub Actions工作流 ( #1136 )
...
Signed-off-by: longjin <longjin@DragonOS.org>
2025-04-22 21:01:35 +08:00
LoGin
2c81a9760e
fix: la64 ci ( #1134 )
...
Signed-off-by: longjin <longjin@DragonOS.org>
2025-04-22 01:35:30 +08:00
LoGin
e80796eb82
feat: la64 boot ( #1132 )
...
* la64能够进入到kernel_main
* ci: 添加为ubuntu编译qemu-loongarch64的脚本
* feat: la64能输出hello world
* la64 安装gcc && 配置github ci
* chore: 更新CI工作流和构建脚本中的Docker镜像版本至v1.10
Signed-off-by: longjin <longjin@DragonOS.org>
2025-04-20 18:51:45 +08:00
LoGin
03015e2559
feat: 支持在rv64下,运行rust编写的helloworld程序 ( #1125 )
...
* 添加 riscv_rust_init 这个helloworld程序
Signed-off-by: longjin <longjin@DragonOS.org>
* feat: 支持在riscv下启动rust编写的hello world程序
TODO: 支持sys ppoll
Signed-off-by: longjin <longjin@DragonOS.org>
* chore: 更新构建容器版本至v1.9
Signed-off-by: longjin <longjin@DragonOS.org>
* 1
---------
Signed-off-by: longjin <longjin@DragonOS.org>
2025-03-30 01:28:41 +08:00
LoGin
c09af909c5
chore: 修复编译镜像未能正确安装工具链的问题 ( #1071 )
...
Signed-off-by: longjin <longjin@DragonOS.org>
2024-12-07 16:37:15 +08: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
LoGin
e232830c18
ci: 推送文档到s3时,不同步`p/*`目录下的文件 ( #1050 )
...
这些文件夹被用于其他子项目的文档
2024-11-15 00:10:32 +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
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
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
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
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
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
LoGin
c635d8a9cf
ci(docs): Build docs when push/PR to master and release version. ( #935 )
...
Signed-off-by: longjin <longjin@DragonOS.org>
2024-09-25 01:36:57 +08:00
Chiichen
fe7d4d588c
ci: enable ci workflow on branches other than master ( #891 )
2024-08-14 23:28:37 +08:00
LoGin
bd70d2d1f4
chore: 将工具链更新到2024-07-23 ( #864 )
...
* chore: 将工具链更新到2024-07-23
2024-07-25 00:55:02 +08:00
Chiichen
ab53b2eb75
ci: update the match regex of issue checker ( #784 )
...
The previous regex can not successfully match the pattern like `feat(driver/pci)`, which has a slash in the scope
2024-04-28 19:37:58 +08:00
LoGin
182b778a3c
chore: 适配dadk 0.1.11 ( #777 )
...
* chore: 适配dadk 0.1.11
2024-04-28 13:39:51 +08:00
LoGin
3b799d13be
Create FUNDING.yml ( #763 )
2024-04-23 19:14:41 +08:00
Chiichen
cb02d0bbc2
ci: import issue checker ( #750 )
...
* ci: supprot auto tag on pull request
* ci: update issue checker config
* ci: update issue checker & block merge while
2024-04-21 23:23:21 +08:00
LoGin
5c20e05a2e
修改bug report模版label ( #665 )
2024-03-25 13:59:00 +08:00
裕依
bc6f0a967c
移除relibc和old libc以及旧的shell ( #529 )
...
移除relibc和old libc以及旧的shell
2024-03-04 14:20:01 +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
43ef2a0d2b
添加riscv64的github workflow ( #499 )
...
* 添加riscv64的github workflow
2024-01-21 18:45:07 +08:00
LoGin
91e9d4ab55
实现unified-init库,支持收集初始化函数到一个数组,并统一初始化 ( #474 )
...
* 添加“统一初始化”的过程宏,并把SystemError独立成crate
* 使用unified-init来初始化fbmem
* 更新workflow,增加内核自动化静态测试
2023-12-25 23:12:27 +08:00
LoGin
fca83acef4
修复cache-toolchain.yml的格式问题 ( #464 )
2023-12-04 22:10:10 +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
6abb8bd7c0
在github workflow的工具链配置文件里面添加rust-src组件 ( #400 )
2023-10-09 01:55:58 +08:00
GnoCiYeH
b7b843bedd
wait4系统调用支持options字段 ( #398 )
2023-10-09 00:58:08 +08:00
GnoCiYeH
2dbef7859f
命名管道系统调用以及文件系统兼容特殊文件类型的接口 ( #397 )
...
* 修复pipe2在读端或写端关闭后还阻塞问题。
* 实现命名管道机制,增加特殊文件类型兼容普通文件系统的接口。
* 普通文件系统能够适配特殊文件(命名管道等)
2023-10-09 00:28:08 +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