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
linfeng
1485456bf3
refacotr: remove all c files ( #1131 )
...
* refacotr: remove all c files
Use Rust to implement the symbol table generator.
Delete unused header files and c files
Adjust the makefile in the debug directory
Signed-off-by: Godones <chenlinfeng25@outlook.com>
* fix: remove extern "C" rs_* functions
move gen_kallsyms.rs to build-scripts
Signed-off-by: Godones <chenlinfeng25@outlook.com>
2025-04-14 09:56:14 +08:00
linfeng
91cc4adba9
fix the panic error for riscv64 ( #1123 )
...
* fix the panic error for riscv64
2025-04-02 13:49:57 +08:00
LoGin
8b8f2f7981
chore: 将cargo.lock恢复提交到git ( #1114 )
...
Signed-off-by: longjin <longjin@DragonOS.org>
2025-03-25 11:27:50 +08:00
linfeng
539ee3eaeb
fix(backtrace):Use more reasonable compile options ( #1056 )
...
* fix(backtrace):Use more reasonable compile options
* 调整代码,同时解决rust analyzer未能提示warning的问题
---------
Co-authored-by: longjin <longjin@DragonOS.org>
2024-11-25 16:28:05 +08:00
linfeng
081428c0d8
feat: update to new backtrace lib ( #1049 )
...
* feat: update to new backtrace lib
* feat: enable unwind for riscv64
---------
Co-authored-by: longjin <longjin@DragonOS.org>
2024-11-19 21:55:22 +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
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
703ce5a77c
fix: 修复由于升级到2024-07-23工具链之后,某些机器上面内核运行一直fault的问题。 ( #870 )
...
* fix: 修复由于升级到2024-07-23工具链之后,某些机器上面内核运行一直fault的问题。
2024-07-27 17:34:05 +08:00
LoGin
bd70d2d1f4
chore: 将工具链更新到2024-07-23 ( #864 )
...
* chore: 将工具链更新到2024-07-23
2024-07-25 00:55:02 +08:00
LoGin
23ef2b33d1
riscv: 把内核编译target改为riscv64gc & 获取time csr的频率 & 修正浮点保存与恢复的汇编的问题 ( #699 )
...
* 1. 把内核编译target改为riscv64gc
2. fix: 修正浮点保存与恢复的汇编的问题
* riscv: 获取time csr的频率
2024-04-06 22:13:26 +08:00
Val213
7c958c9ef0
移植dns查询工具dog的--tcp功能 ( #652 )
...
* add dog, modify user/Makefile and user.sysconfig
* add dog, modify user/Makefile and user.sysconfig
* fix tty unicode
* 修正无法正确编译dog的问题
---------
Co-authored-by: val213 <val213666@gmail.com>
Co-authored-by: GnoCiYeH <heyicong@dragonos.org>
Co-authored-by: longjin <longjin@DragonOS.org>
2024-03-25 13:04:53 +08:00
LoGin
3660256a9e
只对x86_64进行clippy check ( #651 )
2024-03-23 11:51:30 +08:00
LoGin
4e4c8c41e9
添加clippy检测的自动化工作流 ( #649 )
...
* 添加clippy检测的自动化工作流
* fmt
* 1
2024-03-22 23:56:30 +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
1a72a751b1
在riscv输出hello world ( #466 )
...
增加了以下内容:
- SBI驱动
- 把内核的rust工具链升级到2023-08-15版本
- 输出riscv的helloworld
- 设置内核是PIC的
2023-12-07 02:13:22 +08:00
LoGin
4fda81ce81
使得DragonOS kernel 能为riscv64编译通过(尚未能启动) ( #457 )
...
* 使得DragonOS kernel 能为riscv64编译通过(尚未能启动)
* 修正了系统调用号声明不正确的问题,同时添加了编译配置文档
2023-11-25 12:07:39 +08:00
LoGin
70a4e5550a
使用rust重写了apic的驱动 ( #425 )
...
* 使用rust重写了apic的驱动。
* 修正signal和调度器的部分加锁逻辑,增加回退策略。
* 把pcb的flags字段替换为无锁的
* 使用cargo管理apic的编译
* 删除makefile中指定PIC的变量
---------
Co-authored-by: Gou Ngai <ymd7823@outlook.com>
Co-authored-by: 櫻井桃華 <89176634+TihayaKousaka@users.noreply.github.com>
2023-11-07 20:32:06 +08:00
LoGin
e92d022810
解决设置rust workspace带来的“工具链不一致”的问题 ( #345 )
...
更改workflow
2023-08-26 21:36:13 +08:00
guanjinquan
5ed4cd4602
Patch gcc toolchain ( #111 )
...
* 添加了GCC_cross_compile——tool_chain
* - 解决环境变量路径拼接时,多了`/`的问题
- apt安装时增加-y,不需用户确认
* 解决添加环境变量的命令有误的问题
* 修正编译错误时,还会执行下一步的问题
* new: 编译完成后清理临时文件
* 更新makefile
* 调整:把grub安装在 $HOME/opt/dragonos-grub下
* new: 新增dockerfile
* 将镜像源换成中科大的(原因是清华的总是ban掉用于构建镜像的服务器的ip)
* 修改为基于debian bullseye构建
* 取消指定版本
* 修复MBR磁盘镜像未设置启动标志的bug
* 取消在docker中安装grub
* 安装grub的过程改到客户机上进行
* bootstrap.sh 添加--no-docker
* 使用新版的docker编译镜像
* 修补, 添加了一些关于gcc的check
Co-authored-by: longjin <longjin@RinGoTek.cn>
2022-12-22 21:09:12 +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
longjin
fbe1e23e97
将makefile中的gcc字样用$(CC)环境变量代替
2022-10-16 11:08:32 +08:00
liric
518ce3818c
依然是一些针对Mac编译环境的适配
2022-09-15 21:19:20 +08:00
fslongjin
5652878249
bugfix: 用户态程序编译错误的问题
2022-09-11 21:28:19 +08:00
fslongjin
08df258142
bugfix: 编译错误时仍可启动虚拟机的问题
2022-09-01 15:44:30 +08:00
zzy666-hw
554b73ec99
add ipc pipe ( #28 )
2022-08-20 21:47:41 +08:00
fslongjin
fd1b4220be
创建了screen manager文件
2022-08-01 19:43:57 +08:00
fslongjin
b2614801ac
更新Makefile,提升编译速度
2022-08-01 16:03:17 +08:00
fslongjin
992f292f89
🆕 ktest模块
2022-07-26 15:43:33 +08:00
fslongjin
7ca8f42c17
new: msi_desc
2022-07-25 11:50:15 +08:00
fslongjin
a3b5102a36
wrench: 更新Makefile
2022-07-25 11:05:30 +08:00
fslongjin
4c9719f477
🆕 测量local apic定时器频率
2022-07-11 18:40:23 +08:00
fslongjin
eb67b612c4
🔧 更改目录结构,将定时器独立出来
...
将定时器独立出来
2022-07-11 11:51:48 +08:00
fslongjin
c4f90f4883
将分配簇的功能单独独立成一个函数
2022-07-05 23:07:25 +08:00
fslongjin
1ab51cb334
🆕 内核栈反向追踪
2022-06-22 23:31:47 +08:00
fslongjin
832c0c7e5c
🔧 更新了键盘驱动程序,使其适配vfs
2022-05-20 22:53:47 +08:00
fslongjin
59e847294a
修复makefile的bug
2022-05-18 21:13:23 +08:00
fslongjin
5df5d79900
🆕 加载elf文件
2022-05-18 18:27:00 +08:00
fslongjin
edb21695ae
minilibc
2022-05-11 20:42:30 +08:00
fslongjin
b7437b24d7
🐛 页表拷贝的bug
2022-05-06 11:44:53 +08:00
fslongjin
0aec6827ee
🆕 运行文件系统中的二进制程序
2022-05-06 00:25:32 +08:00
fslongjin
4473ff594c
解决了debian上编译后,kernel_thread_func被优化掉的问题
2022-04-26 00:25:15 +08:00
fslongjin
7d3c1b098e
🆕 vfs虚拟文件系统
2022-04-21 23:48:47 +08:00
fslongjin
9b382dab60
🆕 在fat32文件系统中按照路径寻找文件
2022-04-20 19:55:36 +08:00
fslongjin
979bb35599
🆕 读取fat32文件系统的基础信息
2022-04-19 20:56:01 +08:00
fslongjin
0e8bf69d65
增加了uart输出的条件编译
2022-04-15 15:28:00 +08:00
fslongjin
22359344e4
🆕 uart驱动
2022-04-15 15:23:17 +08:00
fslongjin
be8ac71aa9
bug fix
2022-04-15 14:15:32 +08:00
fslongjin
05dc7ac73b
将内核层空间移动到0xffff800000000000
2022-04-09 21:11:07 +08:00