mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-23 16:23:24 +00:00
fix: (riscv/timer): 修复riscv下没有更新墙上时钟以及没有处理软中断的bug (#783)
This commit is contained in:
@ -10,6 +10,7 @@ use crate::{
|
||||
irqdata::IrqData,
|
||||
irqdesc::{irq_desc_manager, GenericIrqHandler},
|
||||
irqdomain::{irq_domain_manager, IrqDomain, IrqDomainOps},
|
||||
softirq::do_softirq,
|
||||
HardwareIrqNumber, IrqNumber,
|
||||
},
|
||||
libs::spinlock::{SpinLock, SpinLockGuard},
|
||||
@ -165,6 +166,7 @@ pub fn riscv_intc_irq(trap_frame: &mut TrapFrame) {
|
||||
// kdebug!("riscv64_do_irq: interrupt {hwirq:?}");
|
||||
GenericIrqHandler::handle_domain_irq(riscv_intc_domain().clone().unwrap(), hwirq, trap_frame)
|
||||
.ok();
|
||||
do_softirq();
|
||||
if hwirq.data() == RiscVSbiTimer::TIMER_IRQ.data() {
|
||||
__schedule(SchedMode::SM_PREEMPT);
|
||||
}
|
||||
|
Reference in New Issue
Block a user