Vitus
832c04a23f
feat(nix): 添加nix alias,formatter,以及更好的提示与原make命令集成 ( #1661 )
...
Build multiversion docs / build-multiversion (push) Waiting to run
Details
Sync to CNB.cool / sync (push) Waiting to run
Details
Test MM (Host) / Build slab_stress (host) (push) Waiting to run
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (1, 128) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (1, 255) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (1, 256) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (1, 64) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (2, 128) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (2, 255) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (2, 256) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (2, 64) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (3, 128) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (3, 255) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (3, 256) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (3, 64) (push) Blocked by required conditions
Details
Test x86_64 / Integration Test (push) Waiting to run
Details
Docs Translation / translate-and-pr (push) Has been cancelled
Details
* - chore:加了一条一键启动的命令
* chore(nix): 添加nixfmt格式化器并整合devShell配置
- 添加treefmt-nix和nixfmt-rfc-style作为项目formatter
- 将tools/nix-dev-shell的devShell配置合并到根目录flake.nix
- 新增rust-toolchain到devShell的buildInputs
- 格式化所有.nix文件并排除.direnv目录
- 移除已废弃的tools/nix-dev-shell目录
* fix
* fix
* fix:构建完后直接退出
fix: qemu 参数分开写的不支持问题
* fix
* fix
* fix:delete result
* remove 快速启动 hint
* Update Makefile
---------
Co-authored-by: Samuel Dai <samuka007@dragonos.org>
2026-01-28 00:17:18 +08:00
LoGin
a728b27356
feat(x86_64): 添加KVM时钟源支持 ( #1683 )
...
* feat(x86_64): 添加KVM时钟源支持
- 新增kvm_clock模块,支持在KVM虚拟化环境中使用pvclock作为时钟源
- 添加kvm_para和pvclock模块,提供KVM特性检测和pvclock数据结构
- 修改TSC管理器,添加从KVM设置TSC频率的方法
- 调整时钟源初始化顺序,优先使用KVM时钟源
- 修复时钟源选择和timekeeper初始化的相关问题
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
Co-authored-by: kaleidoscope416 <jiangruizhi@DragonOS.org>
2026-01-22 15:23:40 +08:00
火花
d7eecdfd08
feat(sysfs): sysfs 支持挂载 ( #1667 )
...
Build multiversion docs / build-multiversion (push) Waiting to run
Details
Sync to CNB.cool / sync (push) Waiting to run
Details
Test MM (Host) / Build slab_stress (host) (push) Waiting to run
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (1, 128) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (1, 255) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (1, 256) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (1, 64) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (2, 128) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (2, 255) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (2, 256) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (2, 64) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (3, 128) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (3, 255) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (3, 256) (push) Blocked by required conditions
Details
Test MM (Host) / Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} (3, 64) (push) Blocked by required conditions
Details
Test x86_64 / Integration Test (push) Waiting to run
Details
* feat(sysfs): sysfs支持挂载
实现 FileSystem 和 MountableFileSystem trait,使 sysfs 成为可挂载文件系统。
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(qemu): 将虚拟机内存调整至2G,避免OOM
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
---------
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
2026-01-15 13:22:58 +08:00
Samuel Dai
dbb5a8346a
chore(nix/qemu): 添加动态端口分配和VM状态目录配置 ( #1660 )
2026-01-14 18:49:47 +08:00
LoGin
0f5163e5b2
feat: 改进VM状态管理和GDB调试支持 ( #1638 )
...
- 新增VM状态管理功能,支持获取网络端口、PID和GDB端口
- 改进GDB调试支持,自动分配端口并支持动态连接
- 优化QEMU启动脚本,使用数组参数提高可维护性
- 修复监控脚本的环境变量依赖问题
Signed-off-by: longjin <longjin@DragonOS.org>
2026-01-13 13:44:01 +08:00
LoGin
4c13a59d28
feat(arch/x86_64): 添加AVX支持和XSAVE指令集优化 ( #1569 )
...
- 在启动代码中启用CR4.OSXSAVE位和XCR0寄存器以支持AVX指令集
- 重构FPU状态管理模块,支持XSAVE/XRSTOR指令并自动检测硬件能力
- 扩展信号处理框架以支持AVX寄存器状态的保存和恢复
- 修复进程切换时FPU状态恢复的时序问题,确保首次进入用户态前正确初始化
- 优化QEMU启动脚本,使用host CPU模式以支持更多现代指令集特性
Signed-off-by: longjin <longjin@DragonOS.org>
2025-12-29 23:01:37 +08:00
Vitus
4101daa317
fix(doc), chore(nix): 文档nix run package名字不对应 更新qemu-system-data包使用deb snapshot archieve ( #1570 )
...
Docs Translation / translate-and-pr (push) Waiting to run
Details
Build multiversion docs / build-multiversion (push) Waiting to run
Details
Sync to CNB.cool / sync (push) Waiting to run
Details
Test x86_64 / Integration Test (push) Waiting to run
Details
* fix: 修复启动package名字不正确的问题
* chore(deps):更新qemu-system-data_10.1.3+ds-1_all.deb包链接
2025-12-29 14:51:04 +08:00
Samuel Dai
f031e61716
feat(build): replace rootfs and user space app creation with nix base scripts ( #1505 )
...
Implement
- userland build in nix, with cross platform support and
non-previleged disk gen
- qemu start command in nix
- nix develop envrionment for make kernel
- document build environment defined by nix
Next Steps
- 减小rootfs占用nix store的体积
- deb包的打包兼容用的函数
- 更加灵活的构建依赖注入
- 保留先前系统内修改的内容
- nix rootfs build与qemu启动适配 vnc模式
- 适配 riscv64 构建
- Arm MacOS上的开发兼容
2025-12-26 18:36:13 +08:00
LoGin
358cf6d3e8
feat(mm): 新增process_vm_readv和process_vm_writev系统调用 ( #1535 )
...
Docs Translation / translate-and-pr (push) Waiting to run
Details
Build multiversion docs / build-multiversion (push) Waiting to run
Details
Sync to CNB.cool / sync (push) Waiting to run
Details
Test x86_64 / Integration Test (push) Waiting to run
Details
* feat(mm): 新增process_vm_readv和process_vm_writev系统调用
- 实现跨进程内存读写系统调用process_vm_readv和process_vm_writev
- 在syscall/mod.rs中注册新的系统调用模块
- 修复fault.rs中的注释标点符号
- 将QEMU运行内存从512M增加到1024M
Signed-off-by: longjin <longjin@DragonOS.org>
* feat(mm): 添加进程间内存访问权限检查与RAII写保护守卫
- 新增KernelWpGuard RAII守卫,确保内核写保护在异常时正确恢复
- 实现check_process_vm_access函数,检查进程间内存访问权限
- 在process_vm_readv/writev系统调用中添加权限验证
- 改进total_iov_len函数,添加溢出检查
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
2025-12-23 00:18:54 +08:00
LoGin
6211826a7f
ci: Refactor nightly build workflow to separate build and publish steps ( #1473 )
...
- Updated the nightly build workflow to include distinct build and publish jobs.
- Added steps to compress build artifacts into a tarball and upload them for later use.
- Modified the Dockerfile to copy the compressed artifacts instead of individual files, enhancing efficiency and organization.
2025-12-15 15:19:42 +08:00
LoGin
200f6fdc35
ci: 新增夜间构建与发布工作流 ( #1469 )
...
Signed-off-by: longjin <longjin@DragonOS.org>
2025-12-15 14:24:58 +08:00
LoGin
f2cca87d2b
refactor(wait_queue): 重构等待队列机制,引入Waiter/Waker模式 ( #1452 )
...
* refactor(wait_queue): 重构等待队列机制,引入Waiter/Waker模式
- 重构WaitQueue,引入Waiter/Waker模式避免唤醒丢失
- 统一等待接口,提供wait_event_interruptible/uninterruptible方法
- 重构futex、epoll、eventfd、semaphore、completion等模块使用新等待队列
- 优化进程等待子进程退出逻辑,使用新等待队列接口
- 添加等待队列设计文档说明新机制
Signed-off-by: longjin <longjin@DragonOS.org>
* feat: 添加SKIP_GRUB选项以支持在CI或无图形界面环境中跳过GRUB安装
Signed-off-by: longjin <longjin@DragonOS.org>
* fix: 修复信号处理和futex唤醒的错误码
- 在sys_rt_sigtimedwait中消费信号后及时刷新HAS_PENDING_SIGNAL状态,避免后续等待路
径误判
- 将futex可中断唤醒的错误码从ERESTARTSYS改为EINTR,以符合Linux语义
Signed-off-by: longjin <longjin@DragonOS.org>
* ci: Update Docker image source in test-x86 workflow
- Changed the Docker image source from `docker.cnb.cool/dragonos-community/dragonos/dragonos-dev:v1.19` to `dragonos/dragonos-dev:v1.19` for consistency in CI workflows.
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
2025-12-10 14:04:05 +08:00
Samuel Dai
c989c6b13b
feat(ci): Bump build container to v1.19 and CI fixes ( #1442 )
...
Build multiversion docs / build-multiversion (push) Waiting to run
Details
Sync to CNB.cool / sync (push) Waiting to run
Details
Test x86_64 / Integration Test (push) Waiting to run
Details
Publish Docker images / docker (push) Has been cancelled
Details
* Bump build container to v1.18 and CI fixes
Add --ci install mode and APT_FLAG (--no-install-recommends) to
bootstrap.sh, skip grub/docs on CI, and remove legacy RUST_VERSION_OLD
install steps. Use --no-install-recommends in Dockerfile, adjust build
scripts and BUILD_CONTAINER_VERSION, and apply minor whitespace and echo
message updates.
* chore: 更新DADK版本至v0.5.1并调整构建脚本
- 将DADK安装版本从v0.5.0升级至v0.5.1
- 调整bootstrap.sh中install_python_pkg的调用位置,确保在CI和非CI环境下都能正确执行
- 更新DragonReach的git修订版本号
Signed-off-by: longjin <longjin@DragonOS.org>
* ci: 更新CI工作流中的Docker镜像源
- 将所有工作流中的容器镜像源从
``dragonos/dragonos-dev:v1.18``更改为
``docker.cnb.cool/dragonos-community/dragonos/dragonos-dev:v1.18``
Signed-off-by: longjin <longjin@DragonOS.org>
* ci: Bump build container to v1.19 and add riscv64 libc
Add linux-libc-dev-riscv64-cross to the Ubuntu/Debian bootstrap install
list to provide riscv64 cross libc headers for cross-compilation.
* ci: 更新CI工作流中的Docker镜像仓库地址
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
Co-authored-by: longjin <longjin@DragonOS.org>
2025-12-09 13:59:57 +08:00
LoGin
91f4d93106
fix(ipc): 修复kill进程组的bug ( #1424 )
...
使得KillTest.ProcessGroups 通过
Signed-off-by: longjin <longjin@DragonOS.org>
2025-12-02 14:15:28 +08:00
LoGin
b0a7948372
feat(klog): Implement kernel log level management and procfs interface ( #1415 )
...
- Introduced a new module for managing kernel log levels, mimicking Linux behavior.
- Added support for dynamic log level configuration via command line and procfs interface.
- Created a new `/proc/sys/kernel/printk` file for reading and writing log level settings.
- Updated existing logging mechanisms to utilize the new log level management system.
- Enhanced the QEMU startup script to allow setting log levels through environment variables.
This implementation improves logging flexibility and aligns with expected Linux functionality.
Signed-off-by: longjin <longjin@DragonOS.org>
2025-12-01 18:08:57 +08:00
Yuming Jiang
9420fe09cd
fix(gvisor): 修复自动化开启/关闭 gvisor syscall测例打包的脚本 ( #1405 )
...
* fix(tools): 修复缺失 /tmp 目录导致 gvisor 测例运行错误的问题
- 在 `write_disk_image.sh` 中添加创建 /tmp 目录的命令。
Signed-off-by: yuming <mingjiangyu1@qq.com>
* ci: 优化启用/关闭gvisor测试的脚本
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: yuming <mingjiangyu1@qq.com>
Signed-off-by: longjin <longjin@DragonOS.org>
Co-authored-by: longjin <longjin@DragonOS.org>
2025-11-26 00:00:04 +08:00
LoGin
1e6ccecc17
fix(ci): 修复CI流程中测试失败但返回成功状态的问题 ( #1403 )
...
- 移除syscall测试的continue-on-error配置,确保测试失败时CI流程正确失败
- 优化上传步骤的条件判断,使用always()确保上传步骤始终执行
- 改进dry-run模式输出,添加verbose选项显示详细信息
- 修复API密钥检查逻辑,在密钥不存在时使用dry-run模式继续执行
Signed-off-by: longjin <longjin@DragonOS.org>
2025-11-24 13:32:02 +08:00
linfeng
a9576e3b9c
feat: support ssh app(dropbear). ( #1392 )
...
* feat: support ssh app(dropbear).
fix tty errors.
fix socket errors.
fix select syscall errors.
update some init configs.
add docs.
Signed-off-by: Godones <chenlinfeng25@outlook.com>
* remove bad code
Signed-off-by: Godones <chenlinfeng25@outlook.com>
* fix: drop lockguard
Signed-off-by: Godones <chenlinfeng25@outlook.com>
---------
Signed-off-by: Godones <chenlinfeng25@outlook.com>
Co-authored-by: longjin <longjin@DragonOS.org>
2025-11-22 14:49:12 +08:00
LoGin
48c2be0c5e
fix: 修复getdents系统调用实现 ( #1397 )
...
- 修复目录项缓存逻辑,避免动态目录读取时丢失条目
- 添加O_PATH文件描述符和文件类型检查
- 支持getdents和getdents64两种格式
- 改进用户缓冲区写入安全性和错误处理
- 修复/proc/self/fd目录列表包含"."和".."
Signed-off-by: longjin <longjin@DragonOS.org>
2025-11-22 00:46:30 +08:00
LoGin
690602368c
ci: 更新构建容器版本至v1.17 ( #1399 )
...
将容器内的镜像源改为crates.io
Signed-off-by: longjin <longjin@DragonOS.org>
2025-11-22 00:43:23 +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
fbcc00ab39
chore: 将构建容器版本从v1.14升级到v1.15 ( #1353 )
...
Signed-off-by: longjin <longjin@DragonOS.org>
2025-11-10 17:31:06 +08:00
Vitus
4060371676
feat:nix-shell rust version ( #1331 )
2025-11-03 13:44:21 +08:00
Shenjie Yang
8d5ae2f9c6
fix: 更新Makefile指定的Rust工具链为nightly-2025-08-10 ( #1328 )
...
* fix: 更新一些makefile中指定的工具链
* fix: 添加novashell到app-blocklist.toml
* fix: 修改nix-dev-shell指定的rust工具链版本号为2025-08-10
* fix: 更新enable_compile_gvisor.sh,避免对其他blocked_app的意外注释
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
---------
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
Co-authored-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
2025-11-01 15:39:46 +08:00
火花
50a70e9424
feat(net): 桥接网络支持 ( #1287 )
...
* feat: 新增veth和bridge结构体,尚未详细测试
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(net): 完善一下已有的bridge以及veth设备,增加一些调试信息
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(net): 完善veth网卡驱动,能通过测例;简单修改vridge设备,尚未测试
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(routing): 简单添加路由子系统,尚未完成
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(veth): 增加veth默认对端路由
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(socket): 恢复udp socket中的wait_queue等待
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(net): 补充bridge的实现
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(bridge): 更改测试程序
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 重命名测试程序
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 更改veth&beidge测试程序的toml
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 暂时添加route_iface以及route_table
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: draft router
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 实现简单的路由功能,未详细测试
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 添加netlink框架,内核相应的处理逻辑以及读取写入用户空间尚未完成
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(netlink): 完善netlink的读写部分,增加addr的内核处理逻辑
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 移动routing的位置
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 补充netlink的阻塞等待逻辑&&fmt
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(netns): 添加网络命名空间
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(netns): 删除全局路由,使用当前netns下的路由
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(netlink): 将netlink socket移入netns中
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 完成netlink addr消息的支持,增加测试程序
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(netlink): 消除一些warning
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* fix: 新建netns时插入loopback网卡到设备列表
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 将veth和bridge测试程序改用C完成
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(gdb): 增加gdb debug可选项
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* fix: 修复SockAddrIn结构体中的sin_addr字节序问题,确保正确处理IPv4地址
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 手糊实现路由功能,后续需要更改事件驱动
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(netlink): 补充getlink方法以及相关结构体
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* Refactor network driver interfaces and introduce NAPI support
- Removed the default_iface parameter.
- Introduced a new NAPI module to manage network polling and scheduling.
- Updated the Iface trait to include a napi_struct method for NAPI support.
- Modified Veth network interfaces to integrate with the new NAPI structure.
- Refactored the Router implementation to remove unnecessary polling threads and wait queues.
- Updated NetNamespace to manage a list of bridge devices.
- Cleaned up various unused methods and comments across network-related files.
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 将virtio网卡的处理逻辑移动进ksoftirqd中
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(netlink): 暂时为多播消息添加allow unused,消除warning
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(nat): 实现SNAT和DNAT
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat(epoll): 更改epoll唤醒判断的逻辑,支持socket加入epoll
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 修改test_bind,防止爆内存
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 添加一个路由todo信息
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* fix: rebase主线之后修改冲突
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: fmt
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 清除无用日志
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 补充一个panic信息
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 将kernel文件夹重命名为kern
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
* feat: 删除netlink测试程序中的linux/netlink.h头文件
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
---------
Signed-off-by: sparkzky <sparkhhhhhhhhhh@outlook.com>
2025-10-30 01:55:04 +08:00
黄铭涛
625abda35e
feat(misc/reboot): 进一步完善reboot系统调用 ( #1157 )
...
* feat(misc/reboot): 进一步完善reboot系统调用
* 删除多余的注释
* fix: 添加riscv, loongarch的reboot占位函数
* format: 格式化代码
https://github.com/DragonOS-Community/DragonOS/pull/1157
* Update kernel/src/debug/sysfs/mod.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* refactor(reboot): modify reboot syscall from match to syscall table
* 添加restart模式的重启测试用例
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-09 22:45:18 +08:00
黄铭涛
b74420f48e
feat(test): 增加系统启动后执行syscall集成测试的make命令并将其加入流水线中 ( #1306 )
...
* feat(test): 增加系统启动后执行syscall集成测试的make命令并将其加入流水线中
2025-10-09 22:34:51 +08:00
Bruce.carrot93
093388bd9a
chore: add freebsd support to tools/bootstrap.sh ( #1278 )
...
* bootstrap.sh support freebsd
* fix patch for freebsd
2025-09-12 00:41:16 +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
a6404b52b8
refactor(bitmap): 重构静态位图实现,移除incomplete_features依赖 ( #1256 )
...
* refactor(bitmap): 重构静态位图实现,移除incomplete_features依赖
- 移除generic_const_exprs特性依赖
- 引入static_bitmap_size常量函数和static_bitmap!宏
- 修改StaticBitmap结构体定义
- 更新相关测试和使用代码
Signed-off-by: longjin <longjin@DragonOS.org>
2025-08-12 01:06:05 +08:00
chiichen
dcd79b408b
feat: basic support build kernel rust codes with nix ( #1213 )
2025-07-28 23:18:01 +08:00
LoGin
7ea0781b79
Fix mountable fs doc ( #1224 )
...
* docs: 更新可挂载文件系统文档格式和内容
- 调整markdown格式和排版
Signed-off-by: longjin <longjin@DragonOS.org>
* fix(doc_translator): 修正代码块正则表达式匹配逻辑
优化多行代码块和内联代码块的正则表达式匹配,确保正确处理代码块格式
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
2025-06-29 17:57:32 +08:00
火花
1e574d89fa
feat(fs): 补充mount系统调用,增加对硬盘挂载 & ext4文件系统的支持 ( #1182 )
...
主要变更:
* 实现完整的mount系统调用,支持从块设备挂载文件系统
* 新增ext4文件系统支持,基于another_ext4库实现
* 引入MountableFileSystem trait和文件系统工厂模式,提升VFS架构
* 完善块设备管理,自动将磁盘和分区注册到devfs(/dev)
* 支持virtio块设备的分区检测和挂载
* 新增umount2系统调用支持文件系统卸载
* 重构symlink相关系统调用,提升代码组织
* 提供硬盘镜像制作脚本和测试程序
技术细节:
- 支持ext4和vfat文件系统的挂载
- 实现MBR分区表解析和GenDisk管理
- 集成页面缓存支持提升文件系统性能
- 完善错误处理和设备号管理
- 新增详细的VFS挂载机制文档
测试验证:
- 新增test-mount-ext4和test-mount-fat测试程序
- 提供make_fs_image.sh脚本创建测试镜像
- 验证挂载、读写、卸载完整流程
Co-authored-by: Samuka007 <samuka007@dragon-os.org>
Co-authored-by: oeasy1412 <oeasy1412@gmail.com>
Co-authored-by: fslongjin <longjin@DragonOS.org>
2025-06-29 17:05:06 +08:00
LoGin
2532cb74fb
feat: 添加翻译文件清理功能并优化错误处理 ( #1219 )
...
- 新增cleanup_deleted_source_files方法用于清理源文件已删除的翻译文件
- 为_remove_thinking和_translate_chunk方法添加Optional类型支持
- 改进错误日志输出格式
- 添加命令行参数支持清理操作和预览模式
Signed-off-by: longjin <longjin@DragonOS.org>
2025-06-28 21:19:53 +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
880720250e
doc: Add ai doc translate tool and add English doc. ( #1168 )
...
- add tools/doc_translator.py
- translated docs into English
Signed-off-by: longjin <longjin@DragonOS.org>
2025-05-20 10:44:28 +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
火花
0bc74e16e0
fix:修改busybox编译选项,启用busybox作为初始引导程序以及shell程序 ( #1161 )
2025-05-10 20:56:36 +08:00
火花
5422256d63
fix: 修复无法执行当前目录下程序的bug ( #1154 )
...
* 更改pcb中的fs以及fNsSet结构体,以便从fs中获取pwd inode
* fmt
* 更改run-qemu.sh,为x86_64传入KERNEL_CMDLINE参数
* 提取FsStruct中的root和pwd信息
* chore(run-qemu.sh): 重构内核启动参数处理逻辑
- 优化KERNEL_CMDLINE拼接逻辑,确保参数顺序正确
- 统一使用sh -c执行QEMU命令
Signed-off-by: longjin <longjin@DragonOS.org>
* refactor(mnt_namespace): 重构FsStruct使用ModeType并移除Arc包装
- 将umask类型从u32改为ModeType
- 移除path_context的Arc包装,改为直接使用RwLock
- 实现Clone trait替代自动derive
- 更新默认umask值为ModeType::S_IWUGO
Signed-off-by: longjin <longjin@DragonOS.org>
* fix(run-qemu): 修改x86_64架构的init程序路径
将x86_64架构的init程序从/bin/busybox改为/bin/dragonreach
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
Co-authored-by: longjin <longjin@DragonOS.org>
2025-05-09 15:16:10 +08:00
LoGin
ed0561424e
fix(tools): 调整bootstrap.sh脚本中的banner和依赖安装顺序 ( #1144 )
...
- 修改bootstrap.sh的成功的banner: `make run`为`make run-nographic`以适应新需求。
- 优化rust组件安装逻辑,调整`cargo-binutils`和`bpf-linker`的安装位置,确保工具链配置正确。
Signed-off-by: longjin <longjin@dragonos.org>
2025-04-29 01:27:44 +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
b6db20c072
feature: virtio console support ( #1113 )
...
feat(virtio): add virtio console driver support
- Implement virtio console driver with TTY interface
- Add HVC device support for console output
- Update devfs to handle HVC devices
- Fix virtio driver registration and initialization
- Improve virtio net driver interrupt handling
- Clean up block device naming implementation
- Add clippy lint checks to multiple crates
- Fix slab allocator alignment issues
- Update QEMU run script for virtio consoleagonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
2025-03-27 20:48:40 +08:00
LoGin
8b8f2f7981
chore: 将cargo.lock恢复提交到git ( #1114 )
...
Signed-off-by: longjin <longjin@DragonOS.org>
2025-03-25 11:27:50 +08:00
LoGin
65f6119c9f
chore: 删除package-lock.json并恢复.gdbinit配置文件 ( #1100 )
...
撤销 [#1073 ](https://github.com/DragonOS-Community/DragonOS/pull/1073 ) 错误操作的两个文件
Signed-off-by: longjin <longjin@DragonOS.org>
2025-03-12 00:23:08 +08:00
Z Fan
597315b04d
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-04 10:56:20 +08:00
LoGin
a05738e7cc
fix: 修正nographic启动时,控制台日志未能输出到文件的问题 ( #1082 )
...
Signed-off-by: longjin <longjin@DragonOS.org>
2025-01-01 23:38:43 +08:00
LIU Yuwei
57b20d2326
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
2024-12-16 01:48:46 +08:00