7c28051e | 11-Nov-2024 |
linfeng <chenlinfeng25@outlook.com> |
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
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>
show more ...
|
f5b20388 | 30-Oct-2024 |
codeironman <1553389239@qq.com> |
ospp project (feature) add namespace overlayfs cgroup (#949)
## 开发进展:
## namespace
- pid_namespace 基本实现,基于pid_struct等数据结构实现隔离
- mnt_namespace 基本实现,挂载点的隔离通过不同的挂载树来实现
- usernamespace 作为支持性的namesp
ospp project (feature) add namespace overlayfs cgroup (#949)
## 开发进展:
## namespace
- pid_namespace 基本实现,基于pid_struct等数据结构实现隔离
- mnt_namespace 基本实现,挂载点的隔离通过不同的挂载树来实现
- usernamespace 作为支持性的namespace,目前受限实现全局静态
## overlayfs
- 实现若干个文件系统的叠加,在mount中传入多个路径作为多个fs的mount路径以及最后merge层的fs路径
- copy-up机制的,除最上层外其他层为只读层,满足写时拷贝,需要修改的时候copy到上层修改
- whiteout特殊文件,用于标记在下层需要被删除的文件用来掩盖需要删除的文件
## cgroups
- 目前cgroups还处于框架阶段,之后具体实现具体的内存、CPU等子系统
show more ...
|
fae6e9ad | 25-Oct-2024 |
linfeng <chenlinfeng25@outlook.com> |
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相关的数据结构
- 暂时为文件实现简
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
show more ...
|
f9fe30be | 13-Oct-2024 |
LoGin <longjin@DragonOS.org> |
feat(boot): 内核启动命令行参数解析 (#969)
支持解析启动命令行参数,行为与Linux一致。具体见文档。
bbs链接:https://bbs.dragonos.org.cn/t/topic/362
issue: https://github.com/DragonOS-Community/DragonOS/issues/865
支持了三种参数:
- Arg (不带
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>
show more ...
|
53629ac3 | 11-Oct-2024 |
Jomo <xuzihao@dragonos.org> |
feat: 释放slab中的空闲页面到buddy (#932)
* patch: 释放slab中的空闲页面到buddy
* 校验释放的slab_page的起始地址与大小 & SCAllcator增加空闲块计数器 |
59a6bcf6 | 09-Oct-2024 |
LoGin <longjin@DragonOS.org> |
feat: Add HVM boot support for x86_64 (#953)
Signed-off-by: longjin <longjin@DragonOS.org> |
013ffb70 | 25-Sep-2024 |
LoGin <longjin@DragonOS.org> |
feat(ida): IDA内部改为使用XArray实现 (#934)
目前可以记录哪些ID已经分配,支持了ID释放的功能.
Signed-off-by: longjin <longjin@DragonOS.org> |
db7c782a | 06-Sep-2024 |
LoGin <longjin@DragonOS.org> |
feat: 允许通过multiboot引导(直到acpi初始化报错) (#914) |
dc9b4fea | 27-Aug-2024 |
LoGin <longjin@DragonOS.org> |
fix: pipe 读取/写入阻塞时,无法kill进程的问题 (#889) |
bd70d2d1 | 24-Jul-2024 |
LoGin <longjin@DragonOS.org> |
chore: 将工具链更新到2024-07-23 (#864)
* chore: 将工具链更新到2024-07-23 |
0897bd8e | 16-May-2024 |
LoGin <longjin@DragonOS.org> |
fix(log): 修复pr #814 的问题 (#821) |
2eab6dd7 | 16-May-2024 |
曾俊 <110876916+ZZJJWarth@users.noreply.github.com> |
feat(log): 将内核日志统一为新的logger (#814) |
0102d69f | 01-May-2024 |
LoGin <longjin@DragonOS.org> |
feat:(riscv/intr) 实现riscv plic驱动,能处理外部中断 (#799)
* feat:(riscv/intr) 实现riscv plic驱动,能处理外部中断
- 实现riscv plic驱动,能处理外部中断
- 能收到virtio-blk的中断
- 实现fasteoi interrupt handler |
7db6e063 | 30-Apr-2024 |
LoGin <longjin@DragonOS.org> |
feat(bitmap): Add bit and for AllocBitMap (#793) |
7401bec5 | 29-Apr-2024 |
laokengwt <143977175+laokengwt@users.noreply.github.com> |
feat(mm): add slab usage calculation (#768)
* Add slab free space calculation and add it to freeram of sysinfo |
a17651b1 | 22-Apr-2024 |
MemoryShore <105195940+MemoryShore@users.noreply.github.com> |
feat(mm): 实现缺页中断处理,支持页面延迟分配和写时拷贝,以及用户栈自动拓展 (#715)
* 实现缺页中断处理
* 完善页表拷贝逻辑
* 优化代码结构
* 完善缺页异常信息
* 修改大页映射逻辑
* 修正大页映射错误
* 添加缺页中断支持标志
* 实现用户栈自动拓展功能 |
d770de5d | 21-Apr-2024 |
LoGin <longjin@DragonOS.org> |
fix: 修复unified-init导致cargo check失败的问题 (#747) |
ceeb2e94 | 15-Apr-2024 |
laokengwt <143977175+laokengwt@users.noreply.github.com> |
feat(mm): 添加slab内存分配器 (#683)
feat(mm): 添加slab内存分配器
---------
Co-authored-by: longjin <longjin@DragonOS.org> |
9621ab16 | 14-Apr-2024 |
LoGin <longjin@DragonOS.org> |
让riscv64能正常切换进程,并运行完所有的initcall (#721) |
da152319 | 27-Mar-2024 |
LoGin <longjin@DragonOS.org> |
实现了rtc的抽象,并且把x86的cmos rtc接入到设备驱动模型 (#674)
* 实现了rtc的抽象,并且把x86的cmos rtc接入到设备驱动模型。 |
b5b571e0 | 22-Mar-2024 |
LoGin <longjin@DragonOS.org> |
修复内核的clippy检查报错 (#637)
修复内核的clippy检查报错
---------
Co-authored-by: Samuel Dai <947309196@qq.com>
Co-authored-by: Donkey Kane <109840258+xiaolin2004@users.noreply.github.com>
Co-authored-by: them
修复内核的clippy检查报错 (#637)
修复内核的clippy检查报错
---------
Co-authored-by: Samuel Dai <947309196@qq.com>
Co-authored-by: Donkey Kane <109840258+xiaolin2004@users.noreply.github.com>
Co-authored-by: themildwind <107623059+themildwind@users.noreply.github.com>
Co-authored-by: GnoCiYeH <heyicong@dragonos.org>
Co-authored-by: MemoryShore <105195940+MemoryShore@users.noreply.github.com>
Co-authored-by: 曾俊 <110876916+ZZJJWarth@users.noreply.github.com>
Co-authored-by: sun5etop <146408999+sun5etop@users.noreply.github.com>
Co-authored-by: hmt <114841534+1037827920@users.noreply.github.com>
Co-authored-by: laokengwt <143977175+laokengwt@users.noreply.github.com>
Co-authored-by: TTaq <103996388+TTaq@users.noreply.github.com>
Co-authored-by: Jomo <2512364506@qq.com>
Co-authored-by: Samuel Dai <samuka007@qq.com>
Co-authored-by: sspphh <112558065+sspphh@users.noreply.github.com>
show more ...
|
840045af | 10-Mar-2024 |
LoGin <longjin@DragonOS.org> |
引入clippy,并根据clippy的提示,修改部分代码 (#575) |
e2841179 | 03-Mar-2024 |
LoGin <longjin@DragonOS.org> |
完成中断管理模块重构 (#554)
- 支持中断共享
- 把现有驱动程序移植到新的irq模块
- 使用`ProcessorId`标识处理器id
- 尚未实现threaded_irq
性能上,edge irq flow handler里面,对于锁的使用,可能有点问题。为了获取/修改common data还有其他几个结构体的状态,进行了多次加锁和放锁,导致性能降低。这是接下来需要优化的
完成中断管理模块重构 (#554)
- 支持中断共享
- 把现有驱动程序移植到新的irq模块
- 使用`ProcessorId`标识处理器id
- 尚未实现threaded_irq
性能上,edge irq flow handler里面,对于锁的使用,可能有点问题。为了获取/修改common data还有其他几个结构体的状态,进行了多次加锁和放锁,导致性能降低。这是接下来需要优化的点。
show more ...
|
52da9a59 | 26-Feb-2024 |
GnoCiYeH <heyicong@dragonos.org> |
完成与Linux兼容的Ntty (#517)
* 已经完成的功能:
- 写:printf能够正常在tty输出
- 读:与键盘驱动接上
- 信号: 能够正常通过ctrl向前台进程发送信号
* 支持目前的shell,改动printk使其与新版tty兼容。
* 删除原有tty文件夹,并更改新tty文件名
* 添加clear清屏程序
* 实现tty部分ioctl,更改部分
完成与Linux兼容的Ntty (#517)
* 已经完成的功能:
- 写:printf能够正常在tty输出
- 读:与键盘驱动接上
- 信号: 能够正常通过ctrl向前台进程发送信号
* 支持目前的shell,改动printk使其与新版tty兼容。
* 删除原有tty文件夹,并更改新tty文件名
* 添加clear清屏程序
* 实现tty部分ioctl,更改部分问题
show more ...
|
b2ca6800 | 19-Feb-2024 |
LoGin <longjin@DragonOS.org> |
添加动态申请的bitmap (#532) |