#
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 ...
|
Revision tags: V0.1.10 |
|
#
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
|
#
f75cb0f8 |
| 27-Apr-2024 |
LoGin <longjin@DragonOS.org> |
refactor(process): 调整arch_switch_to_user函数,把riscv和x86_64的共用逻辑抽取出来。 (#773)
* refactor(process): Extract common logic for riscv and x86_64 in arch_switch_to_user to run_init_process
调整arch_switch_t
refactor(process): 调整arch_switch_to_user函数,把riscv和x86_64的共用逻辑抽取出来。 (#773)
* refactor(process): Extract common logic for riscv and x86_64 in arch_switch_to_user to run_init_process
调整arch_switch_to_user函数,把riscv和x86_64的共用逻辑抽取出来。写成run_init_process函数,并且能够尝试运行多个不同的init程序,直到某个运行成功
show more ...
|
#
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)
* 实现缺页中断处理
* 完善页表拷贝逻辑
* 优化代码结构
* 完善缺页异常信息
* 修改大页映射逻辑
* 修正大页映射错误
* 添加缺页中断支持标志
* 实现用户栈自动拓展功能
|
#
9621ab16 |
| 14-Apr-2024 |
LoGin <longjin@DragonOS.org> |
让riscv64能正常切换进程,并运行完所有的initcall (#721)
|
#
23ef2b33 |
| 06-Apr-2024 |
LoGin <longjin@DragonOS.org> |
riscv: 把内核编译target改为riscv64gc & 获取time csr的频率 & 修正浮点保存与恢复的汇编的问题 (#699)
* 1. 把内核编译target改为riscv64gc
2. fix: 修正浮点保存与恢复的汇编的问题
* riscv: 获取time csr的频率
|
#
70f159a3 |
| 21-Mar-2024 |
LoGin <longjin@DragonOS.org> |
riscv64: 添加flush tlb的ipi (#636)
* riscv64: 添加flush tlb的ipi
* update triagebot
|
Revision tags: V0.1.9 |
|
#
453452cc |
| 04-Feb-2024 |
LoGin <longjin@DragonOS.org> |
初始化riscv的内存管理模块,并且设置保留内存 (#506)
|
#
92849878 |
| 26-Jan-2024 |
LoGin <longjin@DragonOS.org> |
riscv: 完成UEFI初始化,能正确设置memblock的信息 (#501)
* riscv: 完成UEFI初始化,能正确设置memblock的信息
* sbi增加reset功能
* 把虚拟CPU修改为sifive-u54,使qemu能更正确地模拟硬件行为
* 修复内存页面映射未设置“DIRTY”、”ACCESSED“、”GLOBAL“位,导致真机page fault的问题
|
#
7a29d4fc |
| 21-Jan-2024 |
LoGin <longjin@DragonOS.org> |
riscv64: 映射uefi systemtable,并完善了riscv64页表填写的部分内容 (#498)
* 从fdt的chosen段获取几个需要的字段
* merge patch-early-ioremap
* feature: 增加early io remap的fixmap功能
允许在内存管理初始化之前,使用fixmap功能,映射一些物理内存,并记录.
* r
riscv64: 映射uefi systemtable,并完善了riscv64页表填写的部分内容 (#498)
* 从fdt的chosen段获取几个需要的字段
* merge patch-early-ioremap
* feature: 增加early io remap的fixmap功能
允许在内存管理初始化之前,使用fixmap功能,映射一些物理内存,并记录.
* riscv64: 映射uefi systemtable,并完善了riscv64页表填写的部分内容
* 更新仓库网址
show more ...
|
#
74ffde66 |
| 20-Jan-2024 |
LoGin <longjin@DragonOS.org> |
feature: 增加early io remap的fixmap功能 (#495)
允许在内存管理初始化之前,使用fixmap功能,映射一些物理内存,并记录.
|
#
45626c85 |
| 03-Jan-2024 |
LoGin <longjin@DragonOS.org> |
riscv: 解析dtb,获取可用内存空间并添加到memblock (#486)
|
#
91e9d4ab |
| 25-Dec-2023 |
LoGin <longjin@DragonOS.org> |
实现unified-init库,支持收集初始化函数到一个数组,并统一初始化 (#474)
* 添加“统一初始化”的过程宏,并把SystemError独立成crate
* 使用unified-init来初始化fbmem
* 更新workflow,增加内核自动化静态测试
|
#
666cffed |
| 16-Dec-2023 |
LoGin <longjin@DragonOS.org> |
riscv: 映射内核到指定的虚拟地址,使得kinfo能正常工作 (#468)
* riscv: 映射内核到指定的虚拟地址,使得kinfo能正常工作
|
#
4fda81ce |
| 25-Nov-2023 |
LoGin <longjin@DragonOS.org> |
使得DragonOS kernel 能为riscv64编译通过(尚未能启动) (#457)
* 使得DragonOS kernel 能为riscv64编译通过(尚未能启动)
* 修正了系统调用号声明不正确的问题,同时添加了编译配置文档
|