LoGin
|
e696ba4440
|
fix: 解决创建buddy的函数栈帧过大的问题 (#1189)
* fix: 解决创建buddy的函数栈帧过大的问题
Signed-off-by: longjin <longjin@DragonOS.org>
* chore(kernel): 移除smoltcp的log依赖项
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
|
2025-06-08 10:56:26 +08:00 |
|
LoGin
|
b322121dd9
|
feat(syscall): 添加syscall table的实现 (#1164)
* feat(syscall): 添加syscall table的实现
- 实现syscall table
- 为syscall table适配write/writev、read和readv系统调用
---------
Signed-off-by: longjin <longjin@DragonOS.org>
|
2025-05-13 18:59:18 +08:00 |
|
LoGin
|
0b89d7130e
|
refactor(vfs): 重构statx系统调用的实现 (#1149)
- 将kstat的获取,与posix statx的获取进行分离.
- 修复statx没有处理dirfd的bug
- 在Metadata结构体中新增btime字段,表示文件的创建时间
- 更新多个文件系统的metadata实现,添加对btime的支持
- 引入derive_builder crate以简化Metadata构建过程
- 重构vfs模块,将core重命名为vcore以避免命名冲突
- 实现vfs_statx和vfs_getattr函数,支持更详细的文件属性查询
- 新增LookUpFlags定义,用于路径查找时的标志位
Signed-off-by: longjin <longjin@dragonos.org>
|
2025-05-09 14:46:10 +08:00 |
|
LoGin
|
5e87c41d96
|
chore: 更新loongArch64依赖版本至0.2.5 (#1151)
将loongArch64依赖从git版本切换为crates.io注册表版本0.2.5,
Signed-off-by: longjin <longjin@DragonOS.org>
|
2025-05-07 19:00:02 +08:00 |
|
linfeng
|
50bbcae01a
|
feat:Add tracepoint prototype (#1088)
* feat:Add tracepoint prototype
Signed-off-by: Godones <chenlinfeng25@outlook.com>
|
2025-04-22 01:58:44 +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 |
|
linfeng
|
167d272792
|
refactor epoll related implementation (#1128)
* Refactor epoll related implementation
Add PollableInode trait
Implement PollableInode for pollable inodes
fix https://github.com/DragonOS-Community/DragonOS/issues/1094
Signed-off-by: Godones <chenlinfeng25@outlook.com>
|
2025-04-20 16:41:49 +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
|
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 |
|
linfeng
|
3d663af8a2
|
fix: remove useless c code (#1116)
* fix: remove useless c code
remove printk.c file
remove old test_ebpf file
implement `lookup_kallsyms` and `addr_from_symbol` using rust
* fix the weak linkage
* feat(kernel): 添加cfg-if依赖并优化panic模块的条件编译
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
Co-authored-by: longjin <longjin@DragonOS.org>
|
2025-03-27 14:16:10 +08:00 |
|
Z Fan
|
4729ec69c4
|
feat(kvm): 删除了旧版本kvm的代码 (#1093)
* feat(kvm): 删除了旧版本kvm的代码
* chore(kernel): 将release profile中的debug选项设置为false
Signed-off-by: longjin <longjin@DragonOS.org>
---------
Signed-off-by: longjin <longjin@DragonOS.org>
Co-authored-by: longjin <longjin@DragonOS.org>
|
2025-03-25 13:41:30 +08:00 |
|
MemoryShore
|
e92424df8d
|
fix(mm): 修复fat文件系统的PageCache同步问题 (#1005)
---------
Co-authored-by: longjin <longjin@DragonOS.org>
|
2025-01-01 23:38:00 +08:00 |
|
LoGin
|
2b72148cae
|
feat(syscall): 实现syscall restart (#1075)
能够在系统调用返回ERESTARTSYS时,信号处理结束后,自动重启系统调用.
TODO: 实现wait等需要restart_block的系统调用的重启
Signed-off-by: longjin <longjin@DragonOS.org>
|
2024-12-13 00:56:20 +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
|
750b3b5d91
|
feat(debug)[WIP]: add static-keys support (#1025)
* feat: add static-keys support
|
2024-11-16 16:21:20 +08:00 |
|
LoGin
|
a9e28e9ce9
|
fix: 临时修复键盘驱动与鼠标驱动冲突导致键盘无响应 (#1014)
暂时通过条件编译的方式解决. 目前认为是鼠标驱动问题,没有正确判断是不是自己的数据...
但是因为我们场景下,鼠标驱动几乎用不到,因此先条件编译屏蔽.
Signed-off-by: longjin <longjin@DragonOS.org>
|
2024-10-26 12:55:19 +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
|
f9fe30be89
|
feat(boot): 内核启动命令行参数解析 (#969)
支持解析启动命令行参数,行为与Linux一致。具体见文档。
bbs链接:https://bbs.dragonos.org.cn/t/topic/362
issue: https://github.com/DragonOS-Community/DragonOS/issues/865
支持了三种参数:
- Arg (不带Value的参数)
- KV (正常的KV参数)
- EarlyKV (在内存管理初始化之前解析)
# TODO
- 支持在`/proc/cmdline`下面查看内核启动时的命令行参数。
- 支持回调函数,允许更加灵活的设置参数的值(目前用不到,就没写了)
Signed-off-by: longjin <longjin@DragonOS.org>
|
2024-10-13 23:39:55 +08:00 |
|
LoGin
|
59a6bcf6ae
|
feat: Add HVM boot support for x86_64 (#953)
Signed-off-by: longjin <longjin@DragonOS.org>
|
2024-10-09 21:36:18 +08:00 |
|
LoGin
|
013ffb708f
|
feat(ida): IDA内部改为使用XArray实现 (#934)
目前可以记录哪些ID已经分配,支持了ID释放的功能.
Signed-off-by: longjin <longjin@DragonOS.org>
|
2024-09-25 11:20:52 +08:00 |
|
LoGin
|
db7c782a9a
|
feat: 允许通过multiboot引导(直到acpi初始化报错) (#914)
|
2024-09-06 20:04:36 +08:00 |
|
LoGin
|
2b7818e80e
|
feat: 添加对内核引导协议的抽象 (#913)
* 添加multiboot header
* head.S传参增加bootloader类型
* feat: 添加引导加载协议的抽象,并为multiboot2实现这个抽象.
* 把framebuffer的映射地址改为从early ioremap和mmio pool分配
* riscv64能运行
|
2024-09-05 21:12:20 +08:00 |
|
MemoryShore
|
cf7f801e1d
|
feat(mm): 简单实现fat文件系统的文件映射 (#840)
- 添加文件映射相关接口,目前已简单实现fat文件系统的私有映射和共享映射
- 添加msync系统调用(由于当前未实现脏页自动回写,需要手动调用msync进行同步)
- 简单实现PageCache(暂时使用HashMap进行文件页号与页的映射)
- 添加新的PageFlags标志结构,原PageFlags改名为EntryFlags
- 参考linux使用protection_map映射表进行页面标志的获取
- 添加页面回收机制
- 添加页面回收内核线程
- 缺页中断使用的锁修改为irq_save; 添加脏页回写机制
- 修复do_cow_page死锁问题
- 访问非法地址时发送信号终止进程
- 修复重复插入反向vma表的错误
- 添加test_filemap文件映射测试程序
|
2024-09-05 00:35:27 +08:00 |
|
LoGin
|
dc9b4fea1b
|
fix: pipe 读取/写入阻塞时,无法kill进程的问题 (#889)
|
2024-08-27 13:01:11 +08:00 |
|
LoGin
|
bd70d2d1f4
|
chore: 将工具链更新到2024-07-23 (#864)
* chore: 将工具链更新到2024-07-23
|
2024-07-25 00:55:02 +08:00 |
|
LoGin
|
ce48b93437
|
doc: add v0.1.10 changelog (#813)
* 完成v0.1.10 changelog
|
2024-05-13 16:56:26 +08:00 |
|
LoGin
|
0102d69fdd
|
feat:(riscv/intr) 实现riscv plic驱动,能处理外部中断 (#799)
* feat:(riscv/intr) 实现riscv plic驱动,能处理外部中断
- 实现riscv plic驱动,能处理外部中断
- 能收到virtio-blk的中断
- 实现fasteoi interrupt handler
|
2024-05-01 21:11:32 +08:00 |
|
LoGin
|
471d65cf15
|
feat(riscv): riscv下能够运行hello world用户程序 (#770)
* feat(riscv): riscv下能够运行hello world用户程序
|
2024-04-26 11:59:47 +08:00 |
|
LoGin
|
731bc2b32d
|
feat(virtio): riscv: 添加virtio-blk driver,并在riscv下能够正确挂载FAT32 (#761)
|
2024-04-23 17:19:54 +08:00 |
|
LoGin
|
b502fbf0b9
|
chore: Update virtio-drivers to commit 61ece509c4 and modify max_queue_size implementation (#748)
|
2024-04-21 13:30:29 +08:00 |
|
yuyi2439
|
881ff6f95e
|
将smoltcp升级到0.11.0版本 (#740)
|
2024-04-21 11:39:00 +08:00 |
|
laokengwt
|
ceeb2e943c
|
feat(mm): 添加slab内存分配器 (#683)
feat(mm): 添加slab内存分配器
---------
Co-authored-by: longjin <longjin@DragonOS.org>
|
2024-04-15 12:51:14 +08:00 |
|
LoGin
|
9621ab16ef
|
让riscv64能正常切换进程,并运行完所有的initcall (#721)
|
2024-04-14 20:39:20 +08:00 |
|
LoGin
|
e8eab1ac82
|
riscv: copy-thread (#696)
|
2024-04-05 16:37:08 +08:00 |
|
LoGin
|
9b96c5b547
|
riscv64: switch process (#678)
* riscv64: switch process
* fixname
|
2024-03-31 22:53:01 +08:00 |
|
LoGin
|
da15231979
|
实现了rtc的抽象,并且把x86的cmos rtc接入到设备驱动模型 (#674)
* 实现了rtc的抽象,并且把x86的cmos rtc接入到设备驱动模型。
|
2024-03-28 00:28:13 +08:00 |
|
sspphh
|
8c6f21840f
|
实现uname系统调用 (#614)
* 实现uname系统调用
Co-authored-by: longjin <longjin@DragonOS.org>
|
2024-03-19 17:01:20 +08:00 |
|
LoGin
|
5c4224e5a8
|
在riscv上实现异常处理,能够进入异常处理程序 (#564)
|
2024-03-08 23:23:06 +08:00 |
|
LoGin
|
338f690326
|
riscv : 初始化irq (#560)
完成riscv的irqchip初始化的代码。
这是该功能的第一个PR。由于还需要实现timer驱动才能测试,因此该功能将会通过2~3个PR来完成。
|
2024-03-05 17:22:04 +08:00 |
|
Luo Jia / Zhouqi Jiang
|
d90848514b
|
riscv: 更新sbi-rt至0.0.3版本 (#512)
先前使用git仓库链接的最新更新已发布至crates.io网站
Signed-off-by: Zhouqi Jiang <luojia@hust.edu.cn>
|
2024-02-10 23:20:50 +08:00 |
|
LoGin
|
cb23beb255
|
riscv: probe sbi extensions (#511)
|
2024-02-07 17:15:17 +08:00 |
|
LoGin
|
f2022a8a1c
|
使用rust编写中断/异常的入口 (#509)
* 使用rust编写中断/异常的入口
|
2024-02-07 13:29:47 +08:00 |
|
Luo Jia / Zhouqi Jiang
|
d14e28a8a9
|
riscv: 使用sbi-rt库完成SBI操作 (#510)
未来的其它SBI操作也将使用sbi-rt
Signed-off-by: Zhouqi Jiang <luojia@hust.edu.cn>
|
2024-02-07 11:38:15 +08:00 |
|
LoGin
|
5b59005f93
|
x86_64: 使用Rust重写内核初始化代码 (#507)
* x86_64: 使用Rust重写内核初始化代码
|
2024-02-04 15:46:24 +08:00 |
|
LoGin
|
7a29d4fcbc
|
riscv64: 映射uefi systemtable,并完善了riscv64页表填写的部分内容 (#498)
* 从fdt的chosen段获取几个需要的字段
* merge patch-early-ioremap
* feature: 增加early io remap的fixmap功能
允许在内存管理初始化之前,使用fixmap功能,映射一些物理内存,并记录.
* riscv64: 映射uefi systemtable,并完善了riscv64页表填写的部分内容
* 更新仓库网址
|
2024-01-21 15:38:12 +08:00 |
|
LoGin
|
74ffde667e
|
feature: 增加early io remap的fixmap功能 (#495)
允许在内存管理初始化之前,使用fixmap功能,映射一些物理内存,并记录.
|
2024-01-21 01:21:55 +08:00 |
|
LoGin
|
1f58c8f5cf
|
Update mini-backtrace版本到e0b1d90940 (#494)
内容:
[https://github.com/DragonOS-Community/mini-backtrace/pull/1](https://github.com/DragonOS-Community/mini-backtrace/pull/1)
Co-authored-by: Yao Zhao <dragonlinux@gmail.com>
|
2024-01-18 22:39:58 +08:00 |
|
LoGin
|
6994f6b113
|
完成bitmap的static bitmap功能,能够静态声明bitmap (#490)
* 完成bitmap的static bitmap功能,能够静态声明bitmap
|
2024-01-15 18:13:22 +08:00 |
|
LoGin
|
45626c859f
|
riscv: 解析dtb,获取可用内存空间并添加到memblock (#486)
|
2024-01-03 18:00:47 +08:00 |
|
LoGin
|
91e9d4ab55
|
实现unified-init库,支持收集初始化函数到一个数组,并统一初始化 (#474)
* 添加“统一初始化”的过程宏,并把SystemError独立成crate
* 使用unified-init来初始化fbmem
* 更新workflow,增加内核自动化静态测试
|
2023-12-25 23:12:27 +08:00 |
|