mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-28 17:13:23 +00:00
signal的发送(暂时父子进程之间共享信号及相应的结构体) (#89)
* 解决由于spinlock.h中包含preempt_enable()带来的循环include问题 * new: 初步实现signal的数据结构 * new:signal相关数据结构 * fix: 解决bindings.rs报一堆警告的问题 * new: rust下的kdebug kinfo kwarn kBUG kerror宏 * 移动asm.h和cmpxchg.h * new: signal的发送(暂时只支持父子进程共享信号及处理函数)
This commit is contained in:
16
kernel/src/arch/x86_64/cpu.rs
Normal file
16
kernel/src/arch/x86_64/cpu.rs
Normal file
@ -0,0 +1,16 @@
|
||||
use core::arch::asm;
|
||||
|
||||
/// @brief 获取当前cpu的apic id
|
||||
#[inline]
|
||||
pub fn arch_current_apic_id() -> u8 {
|
||||
let cpuid_res: u32;
|
||||
unsafe {
|
||||
asm!(
|
||||
"mov eax, 1",
|
||||
"cpuid",
|
||||
"mov r15, ebx",
|
||||
lateout("r15") cpuid_res
|
||||
);
|
||||
}
|
||||
return (cpuid_res >> 24) as u8;
|
||||
}
|
Reference in New Issue
Block a user