xref: /DragonOS/kernel/src/arch/x86_64/sched.rs (revision 7ae679ddd6481897a86523a52fad3b060254fa5b)
1 use crate::{include::bindings::bindings::enter_syscall_int, syscall::SYS_SCHED};
2 
3 /// @brief 若内核代码不处在中断上下文中,那么将可以使用本函数,发起一个sys_sched系统调用,然后运行调度器。
4 /// 由于只能在中断上下文中进行进程切换,因此需要发起一个系统调用SYS_SCHED。
5 #[no_mangle]
6 pub extern "C" fn sched() {
7     unsafe {
8         enter_syscall_int(SYS_SCHED as u64, 0, 0, 0, 0, 0, 0, 0, 0);
9     }
10 }
11