#
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 ...
|
#
013ffb70 |
| 25-Sep-2024 |
LoGin <longjin@DragonOS.org> |
feat(ida): IDA内部改为使用XArray实现 (#934)
目前可以记录哪些ID已经分配,支持了ID释放的功能.
Signed-off-by: longjin <longjin@DragonOS.org>
|
#
cf7f801e |
| 04-Sep-2024 |
MemoryShore <1353318529@qq.com> |
feat(mm): 简单实现fat文件系统的文件映射 (#840)
- 添加文件映射相关接口,目前已简单实现fat文件系统的私有映射和共享映射
- 添加msync系统调用(由于当前未实现脏页自动回写,需要手动调用msync进行同步)
- 简单实现PageCache(暂时使用HashMap进行文件页号与页的映射)
- 添加新的PageFlags标志结构,原PageFlags改名为Entry
feat(mm): 简单实现fat文件系统的文件映射 (#840)
- 添加文件映射相关接口,目前已简单实现fat文件系统的私有映射和共享映射
- 添加msync系统调用(由于当前未实现脏页自动回写,需要手动调用msync进行同步)
- 简单实现PageCache(暂时使用HashMap进行文件页号与页的映射)
- 添加新的PageFlags标志结构,原PageFlags改名为EntryFlags
- 参考linux使用protection_map映射表进行页面标志的获取
- 添加页面回收机制
- 添加页面回收内核线程
- 缺页中断使用的锁修改为irq_save; 添加脏页回写机制
- 修复do_cow_page死锁问题
- 访问非法地址时发送信号终止进程
- 修复重复插入反向vma表的错误
- 添加test_filemap文件映射测试程序
show more ...
|
#
dc9b4fea |
| 27-Aug-2024 |
LoGin <longjin@DragonOS.org> |
fix: pipe 读取/写入阻塞时,无法kill进程的问题 (#889)
|
#
4afc5b7b |
| 19-Aug-2024 |
linfeng <1925466036@qq.com> |
feat: 增加tokio异步运行时支持 (#894)
* fix the EventFdFlags error
* feat: support tokio (Single thread version)
Fix deadlock issue on closing file.
Add function for PipeInode and EventFdInode.
|
#
0648a547 |
| 02-Aug-2024 |
Jomo <xuzihao@dragonos.org> |
feat(cred): 初步实现Cred (#846)
* 初步实现Cred
* 添加seteuid和setegid
* 添加cred测试程序
* 修改Cred::fscmp返回结果为CredFsCmp枚举
* 完善root用户相关信息
|
#
415e14e9 |
| 31-May-2024 |
laokengwt <143977175+laokengwt@users.noreply.github.com> |
fix(driver): fix memory security problem in tty device ioctl (#833)
* add soft link to musl-gcc
* fix the tty_ioctl
* modified
* modified
|
#
3d4cd853 |
| 28-May-2024 |
donjuanplatinum <113148619+donjuanplatinum@users.noreply.github.com> |
feat(procfs): update procfs (#831)
为procfs增加是否是kthread的显示
增加返回进程已经占用的文件描述符数量
|
#
2eab6dd7 |
| 16-May-2024 |
曾俊 <110876916+ZZJJWarth@users.noreply.github.com> |
feat(log): 将内核日志统一为新的logger (#814)
|
Revision tags: V0.1.10 |
|
#
1074eb34 |
| 15-Apr-2024 |
Samuel Dai <samuka007@qq.com> |
feat(filesystem): 引入Umount系统调用 (#719)
* feat(filesystem): 引入Umount系统调用
* 将所有ENOSYS误用更正
* 修复了一个使同一个挂载点可以挂载2个文件系统的bug
* 统一注释,增强程序稳定性,统一接口。注意:Umount时在fatfs的路径要使用大写,此受限于当前文件系统设计。
|
#
9621ab16 |
| 14-Apr-2024 |
LoGin <longjin@DragonOS.org> |
让riscv64能正常切换进程,并运行完所有的initcall (#721)
|
#
9365e801 |
| 10-Apr-2024 |
GnoCiYeH <heyicong@dragonos.org> |
完善pty,目前pty能够支持ssh (#708)
|
#
dfe53cf0 |
| 04-Apr-2024 |
GnoCiYeH <heyicong@dragonos.org> |
实现pty,附带测试程序 (#685)
* 实现pty,附带测试程序
* fmt ** clippy
* 将file层的锁粒度缩小,从而不使用no_preempt。更改pipe在sleep部分的bug
* 修复拼写错误
|
#
6046f775 |
| 23-Mar-2024 |
裕依 <68320855+yuyi2439@users.noreply.github.com> |
Patch socketpair (#576)
* 将sockets分成inet和unix域
- 添加File端点
- 添加SocketPair trait并将Socket trait中的pair相关方法移动
- 添加对SockAddrUn的处理
* 精简SocketHandleItem
* 重构socketpair相关逻辑
- 将File端点换成Inode端点
- 尝试
Patch socketpair (#576)
* 将sockets分成inet和unix域
- 添加File端点
- 添加SocketPair trait并将Socket trait中的pair相关方法移动
- 添加对SockAddrUn的处理
* 精简SocketHandleItem
* 重构socketpair相关逻辑
- 将File端点换成Inode端点
- 尝试使用SocketInode进行socketpair(未成功)
* 将SocketPair trait合并到Socket trait中,去除downcast
show more ...
|
#
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 ...
|
Revision tags: V0.1.9 |
|
#
52bcb59e |
| 11-Mar-2024 |
GnoCiYeH <heyicong@dragonos.org> |
完善Tty的RawMode (#577)
* 完善rowmode,改掉一部分bug
* 增加两个ansi拓展功能功能,以及标记部分函数nerve inline
* 修改do_signal和其他中断上下文锁未关中断,以及拓展tty功能,修改tty几个算法bug
* 修改两个锁
* 修改syscall_64
* update
|
#
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 ...
|
#
27b967a3 |
| 19-Feb-2024 |
裕依 <68320855+yuyi2439@users.noreply.github.com> |
添加pread&pwrite (#528)
添加pread&pwrite
|
#
4ad52e57 |
| 07-Feb-2024 |
裕依2439 <68320855+yuyi2439@users.noreply.github.com> |
添加socketpair (#505)
* 添加对socketpair系统调用的处理
---------
Co-authored-by: LoGin <longjin@DragonOS.org>
|
#
8d72b68d |
| 24-Jan-2024 |
Jomo <xuzihao@dragonos.org> |
实现内核日志系统 (#489)
* 实现写日志和读取日志,并且能够在用户态下执行dmesg命令查看日志
* 通过klogctl实现dmesg
* 改用ConstGenericRingBuffer作内核缓冲区
* 更改缓冲区容量
* 将能够输出到控制台的日志级别改为日志级别枚举类,使用SpinLock控制KMSG,使用枚举类定义SYSLOG_ACTION,将do_sysl
实现内核日志系统 (#489)
* 实现写日志和读取日志,并且能够在用户态下执行dmesg命令查看日志
* 通过klogctl实现dmesg
* 改用ConstGenericRingBuffer作内核缓冲区
* 更改缓冲区容量
* 将能够输出到控制台的日志级别改为日志级别枚举类,使用SpinLock控制KMSG,使用枚举类定义SYSLOG_ACTION,将do_syslog系统调用接口放在syscall.rs
* fix warning
* 完善do_syslog注释
* 将KMSG接入kinfo、kdebug等
* fix warning
* 修复显示的秒数不正确,·以及无法通过CI的问题
show more ...
|
#
e7071df6 |
| 01-Jan-2024 |
LoGin <longjin@DragonOS.org> |
把opengrok.ringotek.cn替换为code.dragonos.org.cn (#484)
|
#
5e948c56 |
| 27-Dec-2023 |
GnoCiYeH <heyicong@dragonos.org> |
修正pipe逻辑,将pipe接入epoll。 (#478)
|
#
91e9d4ab |
| 25-Dec-2023 |
LoGin <longjin@DragonOS.org> |
实现unified-init库,支持收集初始化函数到一个数组,并统一初始化 (#474)
* 添加“统一初始化”的过程宏,并把SystemError独立成crate
* 使用unified-init来初始化fbmem
* 更新workflow,增加内核自动化静态测试
|
#
40609970 |
| 25-Dec-2023 |
GnoCiYeH <heyicong@dragonos.org> |
增加epoll机制 (#455)
* ## 增加epoll机制
- 增加epoll机制
- 添加事件等待队列,提升socket性能
- 优化poll,删除不能poll的文件系统中的poll方法
* 添加细节注释
* 修复文件关闭后epoll还持有对应描述符的文件弱引用的bug
* 将EPollEvent设计为POSIX标准
* 修改s到us转换的计算错误
|
#
4fda81ce |
| 25-Nov-2023 |
LoGin <longjin@DragonOS.org> |
使得DragonOS kernel 能为riscv64编译通过(尚未能启动) (#457)
* 使得DragonOS kernel 能为riscv64编译通过(尚未能启动)
* 修正了系统调用号声明不正确的问题,同时添加了编译配置文档
|