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 ...
|
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 ...
|
53629ac3 | 11-Oct-2024 |
Jomo <xuzihao@dragonos.org> |
feat: 释放slab中的空闲页面到buddy (#932)
* patch: 释放slab中的空闲页面到buddy
* 校验释放的slab_page的起始地址与大小 & SCAllcator增加空闲块计数器 |
013ffb70 | 25-Sep-2024 |
LoGin <longjin@DragonOS.org> |
feat(ida): IDA内部改为使用XArray实现 (#934)
目前可以记录哪些ID已经分配,支持了ID释放的功能.
Signed-off-by: longjin <longjin@DragonOS.org> |
a3571c8b | 06-Sep-2024 |
MemoryShore <1353318529@qq.com> |
fix(mm): 修复riscv64启动时的PageFault (#915)
* 修复riscv64启动时的PageFault
* 优化代码结构 |
2b7818e8 | 05-Sep-2024 |
LoGin <longjin@DragonOS.org> |
feat: 添加对内核引导协议的抽象 (#913)
* 添加multiboot header
* head.S传参增加bootloader类型
* feat: 添加引导加载协议的抽象,并为multiboot2实现这个抽象.
* 把framebuffer的映射地址改为从early ioremap和mmio pool分配
* riscv64能运行 |
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) |
816ee5ae | 25-Jul-2024 |
LoGin <longjin@DragonOS.org> |
refactor: 删除过时的va-pa转换函数,改为统一使用MMArch (#862) |
bd70d2d1 | 24-Jul-2024 |
LoGin <longjin@DragonOS.org> |
chore: 将工具链更新到2024-07-23 (#864)
* chore: 将工具链更新到2024-07-23 |
38458c72 | 16-Jul-2024 |
MemoryShore <105195940+MemoryShore@users.noreply.github.com> |
修复mprotect系统调用未正确设置vm_flags的错误 (#847) |
de199e3c | 28-May-2024 |
MemoryShore <105195940+MemoryShore@users.noreply.github.com> |
feat(mm): 修复mmap未延迟分配内存的问题 (#837)
* 20240524 3:40
* 20240527 0010
* 修复mmap未延迟分配内存的问题
* Revert "Merge branch 'patch-add-file-mapping' into patch-fix-mmap"
This reverts commit 8eb687c60b43
feat(mm): 修复mmap未延迟分配内存的问题 (#837)
* 20240524 3:40
* 20240527 0010
* 修复mmap未延迟分配内存的问题
* Revert "Merge branch 'patch-add-file-mapping' into patch-fix-mmap"
This reverts commit 8eb687c60b43831d7e9614bca0af41e8f2175ae8, reversing
changes made to 33e9f0b34f9dc35a47757137a29605e51052a26e.
show more ...
|
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 |
17dc5589 | 01-May-2024 |
MemoryShore <105195940+MemoryShore@users.noreply.github.com> |
修复vma映射标志错误 (#801) |
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 |
471d65cf | 26-Apr-2024 |
LoGin <longjin@DragonOS.org> |
feat(riscv): riscv下能够运行hello world用户程序 (#770)
* feat(riscv): riscv下能够运行hello world用户程序 |
731bc2b3 | 23-Apr-2024 |
LoGin <longjin@DragonOS.org> |
feat(virtio): riscv: 添加virtio-blk driver,并在riscv下能够正确挂载FAT32 (#761) |
a17651b1 | 22-Apr-2024 |
MemoryShore <105195940+MemoryShore@users.noreply.github.com> |
feat(mm): 实现缺页中断处理,支持页面延迟分配和写时拷贝,以及用户栈自动拓展 (#715)
* 实现缺页中断处理
* 完善页表拷贝逻辑
* 优化代码结构
* 完善缺页异常信息
* 修改大页映射逻辑
* 修正大页映射错误
* 添加缺页中断支持标志
* 实现用户栈自动拓展功能 |
370472f7 | 21-Apr-2024 |
LoGin <longjin@DragonOS.org> |
pci: 添加pci root manager来管理pci root,并使得riscv能够正常扫描pci设备. (#745)
* pci: 添加pci root manager来管理pci root.
pci: 使得riscv能够正常扫描pci设备.
* doc: 添加注释 |
1074eb34 | 15-Apr-2024 |
Samuel Dai <samuka007@qq.com> |
feat(filesystem): 引入Umount系统调用 (#719)
* feat(filesystem): 引入Umount系统调用
* 将所有ENOSYS误用更正
* 修复了一个使同一个挂载点可以挂载2个文件系统的bug
* 统一注释,增强程序稳定性,统一接口。注意:Umount时在fatfs的路径要使用大写,此受限于当前文件系统设计。 |
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) |
6fc066ac | 07-Apr-2024 |
Jomo <2512364506@qq.com> |
实现SystemV共享内存 (#690)
* 实现SystemV共享内存
* 测试shm
* 添加测试程序
* 完善细节
* 修正shm的时间数据错误的问题
* fix: devfs的metadata权限为0x777的错误
---------
Co-authored-by: longjin <longjin@DragonOS.org> |
23ef2b33 | 06-Apr-2024 |
LoGin <longjin@DragonOS.org> |
riscv: 把内核编译target改为riscv64gc & 获取time csr的频率 & 修正浮点保存与恢复的汇编的问题 (#699)
* 1. 把内核编译target改为riscv64gc
2. fix: 修正浮点保存与恢复的汇编的问题
* riscv: 获取time csr的频率 |