47 Commits

Author SHA1 Message Date
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
LoGin
a55ac7b928
Update issue templates (#277) 2023-06-06 17:44:54 +08:00
login
ab5c8ca46d
重构系统调用模块 (#267)
* 完成系统调用模块重构

* 更新github workflow
2023-05-24 17:05:33 +08:00
login
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
login
b11bb1b256
固定编译工具链、修复由于新版rust编译器问题导致的报错。 (#258)
* 固定编译工具链、修复由于新版rust编译器问题导致的报错。

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

* new: 为内核引入cbindgen
2022-11-11 22:21:44 +08:00
login
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
login
5e023cf791
Update makefile.yml 2022-11-11 15:21:45 +08:00
login
e44795008f
Update makefile.yml (#80) 2022-11-11 15:18:13 +08:00
login
ec5fb84b61
Update makefile.yml 2022-11-11 15:08:09 +08:00
login
6d9dff5f1f
Revert "Update makefile.yml (#78)" (#79)
This reverts commit badc7d238f2341e844a90be3e357e5dd77a447fc.
2022-11-11 15:07:48 +08:00
login
badc7d238f
Update makefile.yml (#78) 2022-11-11 15:05:52 +08:00
login
2057c77f5a
Create makefile.yml 2022-07-25 18:26:08 +08:00
login
3080d05e11
Delete codacy.yml 2022-04-07 11:11:27 +08:00
login
4a5937b804
Update codeql.yml 2022-04-07 10:56:56 +08:00
login
b6de4712eb
Create codacy.yml 2022-04-07 10:51:18 +08:00
login
69aa5c715c
Create codeql.yml 2022-04-07 10:50:41 +08:00