Commit Graph

53 Commits

Author SHA1 Message Date
37aa18e09f ci: 限制Docker镜像推送和CNB.cool同步任务仅在主仓库执行 (#1150)
Signed-off-by: longjin <longjin@DragonOS.org>
2025-05-07 13:20:06 +08:00
187a501f4b feat: 添加同步到CNB.cool的GitHub Actions工作流 (#1136)
Signed-off-by: longjin <longjin@DragonOS.org>
2025-04-22 21:01:35 +08:00
2c81a9760e fix: la64 ci (#1134)
Signed-off-by: longjin <longjin@DragonOS.org>
2025-04-22 01:35:30 +08:00
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
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
c09af909c5 chore: 修复编译镜像未能正确安装工具链的问题 (#1071)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-12-07 16:37:15 +08:00
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
e232830c18 ci: 推送文档到s3时,不同步p/*目录下的文件 (#1050)
这些文件夹被用于其他子项目的文档
2024-11-15 00:10:32 +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
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
37c2359ac4 ci: 删除PR #948 代入的cache-toolchain.toml (#1012) 2024-10-25 18:59:54 +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
40db1e61da ci: add-bpf-linker-to-ci-image (#972)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-10-12 01:20:43 +08:00
056c4aad81 ci: auto build docker images (#960) 2024-10-10 01:31:59 +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
9ad34ef277 ci: fix awscli botcore (#937)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-09-25 03:04:12 +08:00
2f9b18ba8e ci: deploy documents to minio (#936)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-09-25 02:55:16 +08:00
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
fe7d4d588c ci: enable ci workflow on branches other than master (#891) 2024-08-14 23:28:37 +08:00
bd70d2d1f4 chore: 将工具链更新到2024-07-23 (#864)
* chore: 将工具链更新到2024-07-23
2024-07-25 00:55:02 +08:00
182b778a3c chore: 适配dadk 0.1.11 (#777)
* chore: 适配dadk 0.1.11
2024-04-28 13:39:51 +08:00
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
bc6f0a967c 移除relibc和old libc以及旧的shell (#529)
移除relibc和old libc以及旧的shell
2024-03-04 14:20:01 +08:00
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
43ef2a0d2b 添加riscv64的github workflow (#499)
* 添加riscv64的github workflow
2024-01-21 18:45:07 +08:00
91e9d4ab55 实现unified-init库,支持收集初始化函数到一个数组,并统一初始化 (#474)
* 添加“统一初始化”的过程宏,并把SystemError独立成crate

* 使用unified-init来初始化fbmem

* 更新workflow,增加内核自动化静态测试
2023-12-25 23:12:27 +08:00
fca83acef4 修复cache-toolchain.yml的格式问题 (#464) 2023-12-04 22:10:10 +08:00
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
6abb8bd7c0 在github workflow的工具链配置文件里面添加rust-src组件 (#400) 2023-10-09 01:55:58 +08:00
b7b843bedd wait4系统调用支持options字段 (#398) 2023-10-09 00:58:08 +08:00
2dbef7859f 命名管道系统调用以及文件系统兼容特殊文件类型的接口 (#397)
* 修复pipe2在读端或写端关闭后还阻塞问题。

* 实现命名管道机制,增加特殊文件类型兼容普通文件系统的接口。

* 普通文件系统能够适配特殊文件(命名管道等)
2023-10-09 00:28:08 +08:00
e92d022810 解决设置rust workspace带来的“工具链不一致”的问题 (#345)
更改workflow
2023-08-26 21:36:13 +08:00
9a367aa7eb 添加github workflow,检查代码是否已经格式化 (#342)
* 添加github workflow,检查代码是否已经格式化
2023-08-24 18:50:52 +08:00
ab5c8ca46d 重构系统调用模块 (#267)
* 完成系统调用模块重构

* 更新github workflow
2023-05-24 17:05:33 +08:00
7285c927d9 添加dadk支持 (#263)
* 引入dadk,使用dadk0.1.1来编译test-relibc程序

* 由于gitee仓库体积限制导致无法继续使用gitee上的rust索引,因此更换为清华源

* github workflow的环境中,安装dadk

* Auto configure dragonos rust toolchain
2023-05-11 16:17:58 +08:00
b11bb1b256 固定编译工具链、修复由于新版rust编译器问题导致的报错。 (#258)
* 固定编译工具链、修复由于新版rust编译器问题导致的报错。

* 完善github workflow环境配置
2023-05-07 22:20:33 +08:00
82762007da Update makefile.yml 2022-12-23 18:11:47 +08:00
b975025ec8 Update makefile.yml 2022-12-23 11:45:19 +08:00
ad2bb74d94 Update makefile.yml 2022-12-23 11:21:22 +08:00
beb12a188b Update makefile.yml 2022-12-23 10:57:39 +08:00
d65c527730 Update makefile.yml (#121) 2022-12-22 22:58:28 +08:00
2aaf7808ef 在内核中引入cbindgen,生成rust-C的FFI (#81)
* 解决codeql失败问题

* new: 为内核引入cbindgen
2022-11-11 22:21:44 +08:00
2813126e31 新增rust ffi (#77)
* 引入cargo

* 取消对Cargo.lock的跟踪

* 解决vscode报错问题

* new: rust的代码能够调用c语言的printk_color

* 1、将原本run.sh的工作拆解,变为几个不同的make命令
2、在docker镜像中编译rust

* 更改workflow

* update workflow

* new: 解决workflow无法通过编译的问题
2022-11-11 15:35:37 +08:00
5e023cf791 Update makefile.yml 2022-11-11 15:21:45 +08:00
e44795008f Update makefile.yml (#80) 2022-11-11 15:18:13 +08:00
ec5fb84b61 Update makefile.yml 2022-11-11 15:08:09 +08:00
6d9dff5f1f Revert "Update makefile.yml (#78)" (#79)
This reverts commit badc7d238f.
2022-11-11 15:07:48 +08:00
badc7d238f Update makefile.yml (#78) 2022-11-11 15:05:52 +08:00
2057c77f5a Create makefile.yml 2022-07-25 18:26:08 +08:00
3080d05e11 Delete codacy.yml 2022-04-07 11:11:27 +08:00