houmkh
|
be63f3b2b6
|
实现系统调用Fstat (#295)
* fstat
* 修改syscall.rs中的verify_area
|
2023-08-05 18:52:46 +08:00 |
|
LoGin
|
1a62e7767c
|
解决relibc的头文件没能识别__dragonos__定义的问题 (#315)
|
2023-08-02 18:11:05 +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 |
|
YJwu2023
|
cc36cf4a18
|
PCI设备中断重构,删去USB相关代码 (#285)
* 修复ecam无法获取MCFG table的问题
* 完善pcie
* 完善irq的错误检测机制
|
2023-07-08 17:22:42 +08:00 |
|
hanjiezhou
|
f678331a33
|
匿名管道重构&增加IrqArch trait以及IrqFlags及其守卫 (#253)
* 实现匿名管道
* 增加IrqArch trait以及IrqFlags及其守卫
---------
Co-authored-by: longjin <longjin@RinGoTek.cn>
|
2023-04-23 21:05:10 +08:00 |
|
TingHuang
|
dd9f1fc1a4
|
新增SysFS (#250)
* 添加sysfs
* 注册sysfs
* 添加sysfs相关
* 添加rust-anlyzer辅助配置
* 将设备与sysfs相关联
* 添加单独的文件管理sysfs下的文件夹
|
2023-04-21 16:03:42 +08:00 |
|
login
|
ac48398d3f
|
调整brk系统调用,使得参数、返回值与Linux一致 (#238)
* 新增用于测试relibc的app
* 为适配relibc,修改do_execve中关于用户栈的内容的设置
* 调整brk系统调用,使得参数、返回值与Linux一致
|
2023-04-11 16:54:14 +08:00 |
|
login
|
004e86ff19
|
新版文件系统重构完成 (#198)
1.重构:VFS
2. 重构:ProcFS
3. 重构:DevFS
4. 重构:FAT32
5. 重构:AHCI驱动
6. 新增:RamFS
7. 新增:MountFS
8. 新增:FAT12
9. 新增:FAT16
10. 重构:设备抽象
Co-authored-by: guanjinquan <1666320330@qq.com>
Co-authored-by: DaJiYuQia <88259094+DaJiYuQia@users.noreply.github.com>
|
2023-03-12 22:36:11 +08:00 |
|
YJwu2023
|
26d84a3139
|
新增VirtIO网卡驱动 (#194)
* 修复内存bug与grub安装脚本的错误
* 修改小bug
* PCI增加功能与virtio-net驱动
* little fix
* virtio-net小修改
|
2023-03-11 21:09:50 +08:00 |
|
login
|
2bf5ee0e3c
|
修改libc的编译相关内容(#171)
1.将libc的include文件夹分为export和internal
2.将所有app都直接链接libc.a,而不是都执行一遍"搜索.o"的过程
|
2023-02-11 13:04:24 +08:00 |
|
login
|
2726f101b4
|
删除无用的cfs.h (#136)
|
2023-01-03 21:01:56 +08:00 |
|
guanjinquan
|
74bde36e01
|
Patch porting gcc v2 (#124)
* 更改编译器的Include路径,使得include时不需要加`<libc/src/include/>`前缀
* 修改include路径
Co-authored-by: longjin <longjin@RinGoTek.cn>
|
2022-12-31 17:35:39 +08:00 |
|
login
|
7a818da88a
|
Patch about auto gen version string (#114)
* new: about app中,显示当前构建的git commit sha1以及构建时间
* bugfix: 修复shell的exec命令对绝对路径的拼接错误问题
|
2022-12-17 17:49:12 +08:00 |
|
login
|
6efd474033
|
允许用户自定义信号处理函数 (#112)
* new: 用户注册信号处理函数,能够进入自定义的handler
* 修复忘了传信号的数字给用户的处理函数的bug
* new:sigreturn
* 删除注释
|
2022-12-17 16:27:50 +08:00 |
|
login
|
0e0c187484
|
在内核代码中加入自定义的stdint.h文件 (#109)
|
2022-12-16 16:20:09 +08:00 |
|
wwc-15172310230
|
237e95c6dd
|
调整user下libs的libc目录结构 (#103)
* 调整user下libs的libc目录结构
* 修正.gitignore文件的问题
* 修复无法编译的问题
Co-authored-by: longjin <longjin@RinGoTek.cn>
|
2022-12-11 22:22:10 +08:00 |
|
DaJiYuQia
|
27a97abd24
|
Patch procf (#90)
* 1234
* 123
* 合并master
* procfs
* 1
* procfs展示进程基本信息
* modified code
* 恢复权限
* 恢复权限
#恢复权限
* modify permission
* 删除run.sh
* 解决第一次编译时磁盘镜像权限错误的问题
* 恢复.vscode/c_cpp_properties.json
* 删除process.c中错误的do_fork
* remake procfs
* 修改一些变量名
* 修改类型
* modified
* data_puts缓冲区溢出后return
Co-authored-by: longjin <longjin@RinGoTek.cn>
|
2022-11-26 17:34:00 +08:00 |
|
login
|
cffd7144fb
|
signal相关数据结构&代码结构优化 (#84)
* 解决由于spinlock.h中包含preempt_enable()带来的循环include问题
* new: 初步实现signal的数据结构
|
2022-11-16 15:18:03 +08:00 |
|
login
|
2813126e31
|
新增rust ffi (#77)
* 引入cargo
* 取消对Cargo.lock的跟踪
* 解决vscode报错问题
* new: rust的代码能够调用c语言的printk_color
* 1、将原本run.sh的工作拆解,变为几个不同的make命令
2、在docker镜像中编译rust
* 更改workflow
* update workflow
* new: 解决workflow无法通过编译的问题
|
2022-11-11 15:35:37 +08:00 |
|
houmkh
|
d9ee9a0f5b
|
Release worker private (#74)
* 释放worker private,to_thread问题待解决
* 增加process_free_task_
* 测试free_kthread_struct,process_free_task
* free_kthread_struct测试ok
* 修正函数重复的问题
Co-authored-by: longjin <longjin@RinGoTek.cn>
|
2022-11-04 14:19:24 +08:00 |
|
guanjinquan
|
09f8d6f577
|
添加completion模块+wait_queue_head模块+schedule_timeout (#70)
* 添加completion模块+wait_queue_head模块+schedule_timeout
* 修复一些bug
* 实现设置pcb名字和vsnprintf (#72)
* 实现pcb设置名字
* 实现设置pcb名字,实现vsnprintf
* 修改set_pcb_name和va_end
* bugfix: 修正一些小问题
Co-authored-by: longjin <longjin@RinGoTek.cn>
* new: FAT32删除文件的功能 (#73)
* new: 将sys_rmdir更改为sys_unlink,.且完成删除文件操作的vfs部分
* new: fat32删除文件
*bugfix: 解决创建文件时的bug
* new: 将可执行文件移动到bin目录下
* 完善completion和wait_queue_head文档,并确保测试ok。
Co-authored-by: longjin <longjin@RinGoTek.cn>
Co-authored-by: houmkh <100781004+houmkh@users.noreply.github.com>
|
2022-11-03 21:54:59 +08:00 |
|
login
|
31b7b49d8c
|
new: FAT32删除文件的功能 (#73)
* new: 将sys_rmdir更改为sys_unlink,.且完成删除文件操作的vfs部分
* new: fat32删除文件
*bugfix: 解决创建文件时的bug
|
2022-11-02 15:42:44 +08:00 |
|
kong
|
34205659b5
|
Patch isolate sched_cfs (#62)
* 独立cfs到新的文件
* update
* bugfix: 解决调度器卡住的问题
Co-authored-by: longjin <longjin@RinGoTek.cn>
|
2022-10-17 18:04:41 +08:00 |
|
login
|
39f11c5b4b
|
新增usb hid report解析器 (#58)
* new: usb hid parser
|
2022-10-14 18:45:10 +08:00 |
|
login
|
efa38a7d5d
|
使用内核线程来刷新屏幕 (#57)
* 修改了test-idr的错误
* new: 修复切换双缓冲的时候的卡顿问题
Signed-off-by: guanjinquan <1666320330@qq.com>
Co-authored-by: guanjinquan <1666320330@qq.com>
Co-authored-by: fslongjin <longjin@RinGoTek.cn>
|
2022-10-12 18:45:58 +08:00 |
|
guanjinquan
|
1067ae7da8
|
Patch add idr (#52)
* 增加了idr模块
* 增加了IDR模块,并尝试覆盖上一个错误版本.
* 增加了IDR模块
* 完善了注释内容
* 修改了test-idr.c文件
* 进一步完善函数注释
Signed-off-by: guanjinquan <1666320330@qq.com>
Co-authored-by: fslongjin <longjin@RinGoTek.cn>
|
2022-10-06 16:13:29 +08:00 |
|
fslongjin
|
7e0835c92f
|
new: devfs设备卸载
|
2022-10-06 14:48:44 +08:00 |
|
fslongjin
|
35345cae6c
|
doc: 内核线程文档
|
2022-09-30 18:00:10 +08:00 |
|
liric
|
fcdd6f5fa9
|
完成了tty设备在devfs中的注册
|
2022-09-15 23:09:15 +08:00 |
|
fslongjin
|
72f9c430c5
|
new: rootfs
|
2022-09-14 23:51:58 +08:00 |
|
fslongjin
|
26eebaf03a
|
删除文件夹时回收dentry缓存
|
2022-09-13 16:17:35 +08:00 |
|
fslongjin
|
9f2b080cda
|
new: devfs删除文件夹
|
2022-09-12 23:56:31 +08:00 |
|
fslongjin
|
339053a20e
|
将具体磁盘类型与fat32文件系统进行分离
|
2022-09-06 14:10:17 +08:00 |
|
fslongjin
|
4713a1a152
|
new: 移植了LZ4库
|
2022-09-03 16:13:29 +08:00 |
|
fslongjin
|
0223232f3f
|
new: 初步完成了mmio地址空间自动分配(未测试)
bugfix: mmio虚拟地址分配的bug
|
2022-08-20 14:54:19 +08:00 |
|
fslongjin
|
77633e2f19
|
new: 初步实现了mmio的伙伴系统
|
2022-08-18 22:06:29 +08:00 |
|
fslongjin
|
06af77bd79
|
fix: 解决了page的锁未被初始化的bug
|
2022-08-15 12:09:04 +08:00 |
|
fslongjin
|
1dd9195d69
|
new: vma反向映射
|
2022-08-15 01:42:34 +08:00 |
|
fslongjin
|
f3cd2b7777
|
merge master and fix conflicts
|
2022-08-14 21:43:39 +08:00 |
|
Eugene
|
618b612754
|
将 kernel\common\math\pow.c 的求幂运算优化为快速幂
|
2022-08-14 21:27:21 +08:00 |
|
fslongjin
|
17d5fea2cf
|
new: 初步完成了textui的基本显示功能
|
2022-08-04 21:40:26 +08:00 |
|
fslongjin
|
de3324ed7d
|
实现屏幕管理器大致的框架
|
2022-08-03 14:11:14 +08:00 |
|
fslongjin
|
fadeee36a2
|
Merge branch 'master' into patch-screen-manager
|
2022-08-02 10:14:57 +08:00 |
|
fslongjin
|
e806bbc0c8
|
o3能运行
|
2022-08-01 20:55:47 +08:00 |
|
fslongjin
|
fd1b4220be
|
创建了screen manager文件
|
2022-08-01 19:43:57 +08:00 |
|
fslongjin
|
4bc64de8f9
|
🆕 测定tsc频率
|
2022-07-27 21:05:33 +08:00 |
|
fslongjin
|
813c3f9bf8
|
bitree: delete node
|
2022-07-25 17:01:37 +08:00 |
|
fslongjin
|
2b0b727893
|
🔧 将enable msi的部分更新为使用msi_desc来完成
|
2022-07-25 13:50:03 +08:00 |
|