Commit Graph

206 Commits

Author SHA1 Message Date
0e0c187484 在内核代码中加入自定义的stdint.h文件 (#109) 2022-12-16 16:20:09 +08:00
728aca3089 bugfix: 修复rtc时钟对BCD码进行转换的时候,忘了处理day字段的问题 (#104) 2022-12-11 22:59:47 +08:00
1a2eaa402f signal的处理(kill命令)以及一些其他的改进 (#100)
* 将entry.S中冗余的ret_from_syscall代码删除,改为jmp Restore_all

* new: 增加判断pt_regs是否来自用户态的函数

* new: rust的cli和sti封装

* 将原有的判断pt_regs是否来自用户态的代码,统一改为调用user_mode函数

* ffz函数:获取u64中的第一个值为0的bit

* spinlock增加 spinlock irq spin_unlock_irq

* 临时解决显示刷新线程迟迟不运行的问题

* 更改ffi_convert的生命周期标签

* new: 测试signal用的app

* 解决由于编译器优化导致local_irq_restore无法获取到正确的rflags的值的问题

* new: exec命令增加"&"后台运行选项

* procfs->status增加显示preempt和虚拟运行时间

* 更改引用计数的FFIBind2Rust trait中的生命周期标签

* new: signal处理(kill)

* 更正在review中发现的一些细节问题
2022-12-08 22:59:51 +08:00
f8b55f6d3f Patch uart (#99)
* 添加UART驱动相关文件

* 添加驱动核心文件,将rust编写的驱动代码加入Package中

* 添加glib.h文件生成rust代码,添加uart驱动代码

* 添加串口发送及接收相关代码

* 添加字符串发送函数,未实现具体功能

* 为调用uart驱动的代码添加rust接口

* 添加字符串发送函数,修改C语言调用接口

* 添加rust串口驱动

* 添加uart.h头文件,将串口端口类型改为enum

* 添加注释,规范代码
2022-12-06 22:15:03 +08:00
fb6c29d01d port kmalloc and printk to rust (#83)
* 暂时移除cbindgen

* 将lib文件夹更名为libs文件夹(解决rust的冲突)

* 实现了全局的allocator

* 实现了printk宏

* new: 完善了printk的颜色
2022-11-13 16:43:58 +08:00
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