History log of /DragonOS/kernel/src/arch/riscv64/mm/mod.rs (Results 1 – 17 of 17)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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编译通过(尚未能启动)

* 修正了系统调用号声明不正确的问题,同时添加了编译配置文档