#
bd70d2d1 |
| 24-Jul-2024 |
LoGin <longjin@DragonOS.org> |
chore: 将工具链更新到2024-07-23 (#864)
* chore: 将工具链更新到2024-07-23
|
#
af097f9f |
| 16-Jul-2024 |
黄铭涛 <114841534+1037827920@users.noreply.github.com> |
fix(time): modify update wall time (#836)
更改了时间子系统的update_wall_time函数,通过读取当前周期数,计算delta值进行更新,而不是通过传入delta值进行更新
|
#
2eab6dd7 |
| 16-May-2024 |
曾俊 <110876916+ZZJJWarth@users.noreply.github.com> |
feat(log): 将内核日志统一为新的logger (#814)
|
#
92deae63 |
| 16-May-2024 |
LoGin <longjin@DragonOS.org> |
chore: move setup_arch_post timepoint to before clocksource_boot_finish (#820)
This commit adjusts the timing of the setup_arch_post event to occur before the clocksource_boot_finish event, allowing
chore: move setup_arch_post timepoint to before clocksource_boot_finish (#820)
This commit adjusts the timing of the setup_arch_post event to occur before the clocksource_boot_finish event, allowing the time subsystem to properly register architecture-specific clock sources.
show more ...
|
Revision tags: V0.1.10 |
|
#
dd8e74ef |
| 28-Apr-2024 |
Mingtao Huang <114841534+1037827920@users.noreply.github.com> |
feat(driver/acpi_pm): Implement ACPI PM Timer (#772)
* feat: Implement ACPI PM Timer
|
#
1074eb34 |
| 15-Apr-2024 |
Samuel Dai <samuka007@qq.com> |
feat(filesystem): 引入Umount系统调用 (#719)
* feat(filesystem): 引入Umount系统调用
* 将所有ENOSYS误用更正
* 修复了一个使同一个挂载点可以挂载2个文件系统的bug
* 统一注释,增强程序稳定性,统一接口。注意:Umount时在fatfs的路径要使用大写,此受限于当前文件系统设计。
|
#
f0c87a89 |
| 05-Apr-2024 |
GnoCiYeH <heyicong@dragonos.org> |
重写调度模块 (#679)
## PR:重写调度模块
---
### 完成的部分
- 实现cfs调度策略
- 搭建框架,后续功能可以迭代开发
- 目前能跑,未测试性能
### 需要后续接力的部分
- 实现组内调度(task_group)
- 实现跨核负载均衡(pelt算法)
- 接入sysfs,实现参数动态调节(sched_stat等)
- nice值以及priori
重写调度模块 (#679)
## PR:重写调度模块
---
### 完成的部分
- 实现cfs调度策略
- 搭建框架,后续功能可以迭代开发
- 目前能跑,未测试性能
### 需要后续接力的部分
- 实现组内调度(task_group)
- 实现跨核负载均衡(pelt算法)
- 接入sysfs,实现参数动态调节(sched_stat等)
- nice值以及priority等参数的设置及调优
show more ...
|
#
b8ed3825 |
| 04-Apr-2024 |
Donkey Kane <109840258+xiaolin2004@users.noreply.github.com> |
修复jiffy时钟过快问题,启用gettimeofday测试,修改mount测试 (#680)
1. 把clock tick rate与hpet频率关联起来
2. 修复墙上时间同步错误的问题
3. 启用时间watch dog.
4. 修复时间流逝速度异常
---------
Co-authored-by: longjin <longjin@DragonOS.org>
|
Revision tags: V0.1.9 |
|
#
840045af |
| 10-Mar-2024 |
LoGin <longjin@DragonOS.org> |
引入clippy,并根据clippy的提示,修改部分代码 (#575)
|
#
5b59005f |
| 04-Feb-2024 |
LoGin <longjin@DragonOS.org> |
x86_64: 使用Rust重写内核初始化代码 (#507)
* x86_64: 使用Rust重写内核初始化代码
|
#
91e9d4ab |
| 25-Dec-2023 |
LoGin <longjin@DragonOS.org> |
实现unified-init库,支持收集初始化函数到一个数组,并统一初始化 (#474)
* 添加“统一初始化”的过程宏,并把SystemError独立成crate
* 使用unified-init来初始化fbmem
* 更新workflow,增加内核自动化静态测试
|
#
be8cdf4b |
| 12-Nov-2023 |
LoGin <longjin@DragonOS.org> |
增加getrusage,并把apic timer的频率调整为系统HZ (#435)
|
Revision tags: V0.1.8 |
|
#
40fe15e0 |
| 22-Jul-2023 |
LoGin <longjin@DragonOS.org> |
新的内存管理模块 (#303)
  实现了具有优秀架构设计的新的内存管理模块,对内核空间和用户空间的内存映射、分配、释放、管理等操作进行了封装,使得内核开发者可以更加方便地进行内存管理。
  内存管理模块主要由以下类型的组件组成:
- **硬件抽象层(MemoryManagementArch)** - 提供对具体处理器架构的抽象,使得内存管理
新的内存管理模块 (#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>
show more ...
|
#
bb5f098a |
| 22-Jul-2023 |
LoGin <longjin@DragonOS.org> |
Revert "新的内存管理模块 (#301)" (#302)
This reverts commit d8ad0a5e7724469abd5cc3cf271993538878033e.
|
#
d8ad0a5e |
| 22-Jul-2023 |
LoGin <longjin@DragonOS.org> |
新的内存管理模块 (#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 ...
|
#
36fd0130 |
| 17-Jun-2023 |
houmkh <1119644616@qq.com> |
实现gettimeofday()系统调用和clocksource+timekeeping子模块 (#278)
- 实现gettimeofday()系统调用
- 实现clocksource+timekeeping子模块部分功能
- 实现了timespec转换成日期时间
|