Xshine
|
729a96ef47
|
实现内核通知链 notifier chain (#316)
* 实现通知链块结构
* 实现通知链的基本功能
* 实现 atomic notifier chain
* 实现 blocking notifier chain
* 使用 rust 范式完成功能
* 支持回调次数 nr_to_call
* 移动至 libs 目录
* 完善通知链相关方法
* 修正相关格式
* 文档编写
* 更改文档路径
|
2023-08-06 12:53:47 +08:00 |
|
LoGin
|
40fe15e095
|
新的内存管理模块 (#303)
  实现了具有优秀架构设计的新的内存管理模块,对内核空间和用户空间的内存映射、分配、释放、管理等操作进行了封装,使得内核开发者可以更加方便地进行内存管理。
  内存管理模块主要由以下类型的组件组成:
- **硬件抽象层(MemoryManagementArch)** - 提供对具体处理器架构的抽象,使得内存管理模块可以在不同的处理器架构上运行
- **页面映射器(PageMapper)**- 提供对虚拟地址和物理地址的映射,以及页表的创建、填写、销毁、权限管理等操作。分为两种类型:内核页表映射器(KernelMapper)和用户页表映射器(位于具体的用户地址空间结构中)
- **页面刷新器(PageFlusher)** - 提供对页表的刷新操作(整表刷新、单页刷新、跨核心刷新)
- **页帧分配器(FrameAllocator)** - 提供对页帧的分配、释放、管理等操作。具体来说,包括BumpAllocator、BuddyAllocator
- **小对象分配器** - 提供对小内存对象的分配、释放、管理等操作。指的是内核里面的SlabAllocator (SlabAllocator的实现目前还没有完成)
- **MMIO空间管理器** - 提供对MMIO地址空间的分配、管理操作。(目前这个模块待进一步重构)
- **用户地址空间管理机制** - 提供对用户地址空间的管理。
- VMA机制 - 提供对用户地址空间的管理,包括VMA的创建、销毁、权限管理等操作
- 用户映射管理 - 与VMA机制共同作用,管理用户地址空间的映射
- **系统调用层** - 提供对用户空间的内存管理系统调用,包括mmap、munmap、mprotect、mremap等
- **C接口兼容层** - 提供对原有的C代码的接口,是的C代码能够正常运行。
除上面的新增内容以外,其它的更改内容:
- 新增二进制加载器,以及elf的解析器
- 解决由于local_irq_save、local_irq_restore函数的汇编不规范导致影响栈行为的bug。
- 解决local_irq_save未关中断的错误。
- 修复sys_gettimeofday对timezone参数的处理的bug
---------
Co-authored-by: kong <kongweichao@dragonos.org>
|
2023-07-22 16:27:02 +08:00 |
|
LoGin
|
bb5f098a86
|
Revert "新的内存管理模块 (#301)" (#302)
This reverts commit d8ad0a5e7724469abd5cc3cf271993538878033e.
|
2023-07-22 16:24:55 +08:00 |
|
LoGin
|
d8ad0a5e77
|
新的内存管理模块 (#301)
  实现了具有优秀架构设计的新的内存管理模块,对内核空间和用户空间的内存映射、分配、释放、管理等操作进行了封装,使得内核开发者可以更加方便地进行内存管理。
  内存管理模块主要由以下类型的组件组成:
- **硬件抽象层(MemoryManagementArch)** - 提供对具体处理器架构的抽象,使得内存管理模块可以在不同的处理器架构上运行
- **页面映射器(PageMapper)**- 提供对虚拟地址和物理地址的映射,以及页表的创建、填写、销毁、权限管理等操作。分为两种类型:内核页表映射器(KernelMapper)和用户页表映射器(位于具体的用户地址空间结构中)
- **页面刷新器(PageFlusher)** - 提供对页表的刷新操作(整表刷新、单页刷新、跨核心刷新)
- **页帧分配器(FrameAllocator)** - 提供对页帧的分配、释放、管理等操作。具体来说,包括BumpAllocator、BuddyAllocator
- **小对象分配器** - 提供对小内存对象的分配、释放、管理等操作。指的是内核里面的SlabAllocator (SlabAllocator的实现目前还没有完成)
- **MMIO空间管理器** - 提供对MMIO地址空间的分配、管理操作。(目前这个模块待进一步重构)
- **用户地址空间管理机制** - 提供对用户地址空间的管理。
- VMA机制 - 提供对用户地址空间的管理,包括VMA的创建、销毁、权限管理等操作
- 用户映射管理 - 与VMA机制共同作用,管理用户地址空间的映射
- **系统调用层** - 提供对用户空间的内存管理系统调用,包括mmap、munmap、mprotect、mremap等
- **C接口兼容层** - 提供对原有的C代码的接口,是的C代码能够正常运行。
除上面的新增内容以外,其它的更改内容:
- 新增二进制加载器,以及elf的解析器
- 解决由于local_irq_save、local_irq_restore函数的汇编不规范导致影响栈行为的bug。
- 解决local_irq_save未关中断的错误。
- 修复sys_gettimeofday对timezone参数的处理的bug
|
2023-07-22 16:22:17 +08:00 |
|
houmkh
|
8fd71f2772
|
增加定时器和软中断文档,修改了softirq面向c的接口 (#245)
* 增加定时器和软中断文档
* 修改softirq对c的接口和文档
* 修改文档格式
|
2023-04-17 17:17:06 +08:00 |
|
login
|
77c928f6ce
|
new: DowncastArc and its docs (#244)
|
2023-04-16 20:29:04 +08:00 |
|
longjin
|
a274d5a01d
|
暂时解决idr不能跑的问题(目前只能在o1下运行,o0存在栈损坏错误)
|
2022-10-23 16:43:57 +08:00 |
|
guanjinquan
|
d53ddde95d
|
Patch add idr (#56)
* 增加了idr模块
* 增加了IDR模块,并尝试覆盖上一个错误版本.
* 增加了IDR模块
* 修改了test-idr.c文件
* 进一步完善函数注释
* 更新idr文档同时修改了test-idr的错误
* 将lz4库改为使用系统的clz函数
* idr和test-idr O1
* bugfix: 修复测试用例中的移位问题
* 修正问题
Signed-off-by: guanjinquan <1666320330@qq.com>
Co-authored-by: fslongjin <longjin@RinGoTek.cn>
|
2022-10-23 16:07:28 +08:00 |
|
fslongjin
|
53233d5e3b
|
doc: 更正文档错误
|
2022-10-04 22:05:31 +08:00 |
|
fslongjin
|
7087e9fbc1
|
doc: 更新List文档
|
2022-10-04 22:02:41 +08:00 |
|
Mustang
|
cbbf79b2cf
|
crc库(#46)
* crc
* 更改crc7
* add crc.h,crc.md
* 调整文件编码格式
* 调整文档
Co-authored-by: fslongjin <longjin@RinGoTek.cn>
|
2022-09-20 15:12:45 +08:00 |
|
fslongjin
|
357343b0d3
|
doc: memcpy文档
|
2022-09-03 16:23:24 +08:00 |
|
fslongjin
|
2c4f8b9c50
|
doc: mmio文档
|
2022-08-20 18:42:12 +08:00 |
|
fslongjin
|
0223232f3f
|
new: 初步完成了mmio地址空间自动分配(未测试)
bugfix: mmio虚拟地址分配的bug
|
2022-08-20 14:54:19 +08:00 |
|
fslongjin
|
f513286f53
|
new:kzalloc
|
2022-08-15 17:57:05 +08:00 |
|
fslongjin
|
16ad3e8719
|
doc: mm_stat文档
|
2022-08-06 23:41:44 +08:00 |
|
fslongjin
|
d9ee6ea859
|
new: string.h
|
2022-08-03 15:13:01 +08:00 |
|
fslongjin
|
a02acbdbe6
|
将进程同步原语移动到common文件夹下
|
2022-07-31 14:17:26 +08:00 |
|
fslongjin
|
c1f51bf4cb
|
kfifo文档
|
2022-07-29 17:18:55 +08:00 |
|
fslongjin
|
aacb77e0c6
|
doc: 原子变量文档
|
2022-07-27 12:11:29 +08:00 |
|
fslongjin
|
6352836902
|
doc: 锁机制的文档
|
2022-07-27 11:17:11 +08:00 |
|
fslongjin
|
1b4f812fe4
|
doc: 内存管理api
|
2022-07-27 00:09:19 +08:00 |
|
fslongjin
|
5c9e03236d
|
doc: 内存分配指南
|
2022-07-26 18:45:11 +08:00 |
|
fslongjin
|
b0474540d4
|
增加printk文档
|
2022-07-26 18:05:17 +08:00 |
|
fslongjin
|
39a09ffd72
|
🆕 内核核心api文档
|
2022-07-12 20:39:33 +08:00 |
|