新的内存管理模块 (#301)  实现了具有优秀架构设计的新的内存管理模块,对内核空间和用户空间的内存映射、分配、释放、管理等操作进行了封装,使得内核开发者可以更加方便地进行内存管理。   内存管理模块主要由以下类型的组件组成: - **硬件抽象层(MemoryManagementArch)** - 提供对具体处理器架构的抽象,使得内存管理
新的内存管理模块 (#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
show more ...
PCI设备中断重构,删去USB相关代码 (#285)* 修复ecam无法获取MCFG table的问题 * 完善pcie * 完善irq的错误检测机制
修复ecam无法获取MCFG table的问题 (#241)
增加对dhcpv4的支持(tcp、udp socket已写好,但由于缺少epoll机制,尚未完整测试) (#237)* 为virtio网卡完成smoltcp的phy层配置 * raw socket * 初步写完udp和tcp socket * 能够正常通过dhcp获取ipv4地址(具有全局iface btree) --------- Co-authored-by
增加对dhcpv4的支持(tcp、udp socket已写好,但由于缺少epoll机制,尚未完整测试) (#237)* 为virtio网卡完成smoltcp的phy层配置 * raw socket * 初步写完udp和tcp socket * 能够正常通过dhcp获取ipv4地址(具有全局iface btree) --------- Co-authored-by: guanjinquan <1666320330@qq.com>
pci重构+pcie支持 (#235)* pci重构+pcie支持 * pci重构测试完成 * 修正makefile的问题 * 小修改 * 修改函数名字
软中断&定时器重构 (#223)* 软中断&定时器重构 Co-authored-by: houmkh<houjiaying@DragonOS.org> * 修改timer的clock() * 删除debug信息 --------- Co-authored-by: houmkh <1119644616@qq.com>
部分函数从返回值为Result<<>,i32>修改为Result<<>,SystemError> (#210)* 将Result<<>,i32>替换为Result<<>,SystemError> * bugfix: 显示双缓冲区初始化的时候,连续注册了两次Video Softirq的问题。 Co-authored-by: longjin <longjin@RinGoTek.cn>
VirtIO网卡能够正常发送、接收数据 (#204)* virtio-net小修改 * 移动volatile.rs到libs文件夹 * 使用virtio-drivers 0.3.0 * bugfix: 初始化BAR之后,未正确设置command register的问题 --------- Co-authored-by: longjin <longjin@dr
VirtIO网卡能够正常发送、接收数据 (#204)* virtio-net小修改 * 移动volatile.rs到libs文件夹 * 使用virtio-drivers 0.3.0 * bugfix: 初始化BAR之后,未正确设置command register的问题 --------- Co-authored-by: longjin <longjin@dragonos.org>
新版文件系统重构完成 (#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>
新版文件系统重构完成 (#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>
新增VirtIO网卡驱动 (#194)* 修复内存bug与grub安装脚本的错误 * 修改小bug * PCI增加功能与virtio-net驱动 * little fix * virtio-net小修改
12