xref: /DragonOS/kernel/src/arch/riscv64/sched.rs (revision f049d1af01da7b92f312245ed411b22475b76065)
1 use crate::{
2     driver::clocksource::timer_riscv::riscv_sbi_timer_init_local, exception::InterruptArch,
3     sched::SchedArch,
4 };
5 
6 use super::CurrentIrqArch;
7 
8 /// 发起调度
9 #[no_mangle]
sched()10 pub extern "C" fn sched() {
11     unimplemented!("RiscV64::sched")
12 }
13 
14 pub struct RiscV64SchedArch;
15 
16 impl SchedArch for RiscV64SchedArch {
enable_sched_local()17     fn enable_sched_local() {
18         riscv_sbi_timer_init_local();
19         unsafe { CurrentIrqArch::interrupt_enable() };
20     }
21 
disable_sched_local()22     fn disable_sched_local() {
23         todo!()
24     }
25 
initial_setup_sched_local()26     fn initial_setup_sched_local() {}
27 }
28