mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-14 16:16:48 +00:00
* update * 添加rt调度器的rust初步实现 * 完善rt调度逻辑 * 调试rt调度器 * 修改sched的返回值 * cargo fmt 格式化 * 删除无用代码,修补rt bug * 删除无用的代码,和重复的逻辑 * 软中断bugfix * 删除一些代码 * 添加kthread_run_rt文档 * 解决sphinix警告_static目录不存在的问题 Co-authored-by: longjin <longjin@RinGoTek.cn>
16 lines
595 B
Rust
16 lines
595 B
Rust
/// @brief 由bindgen生成的结构体转换成rust原生定义的结构体的特性
|
|
pub trait FFIBind2Rust<T> {
|
|
/// 转换为不可变引用
|
|
fn convert_ref(src: *const T) -> Option<&'static Self>;
|
|
/// 转换为可变引用
|
|
fn convert_mut(src: *mut T) -> Option<&'static mut Self>;
|
|
}
|
|
|
|
pub fn __convert_mut<'a, S, D>(src: *mut S) -> Option<&'a mut D> {
|
|
return unsafe { core::mem::transmute::<*mut S, *mut D>(src).as_mut() };
|
|
}
|
|
|
|
pub fn __convert_ref<'a, S, D>(src: *const S) -> Option<&'a D> {
|
|
return unsafe { core::mem::transmute::<*const S, *const D>(src).as_ref() };
|
|
}
|