Browse Source

fix(driver/apic_timer): 修复local apic timer初始化顺序导致的在某些云服务器上无法收到中断的bug (#815)

LoGin 10 tháng trước cách đây
mục cha
commit
236e88d5ef
1 tập tin đã thay đổi với 1 bổ sung1 xóa
  1. 1 1
      kernel/src/arch/x86_64/driver/apic/apic_timer.rs

+ 1 - 1
kernel/src/arch/x86_64/driver/apic/apic_timer.rs

@@ -228,12 +228,12 @@ impl LocalApicTimer {
         );
         self.mode = LocalApicTimerMode::Periodic;
         self.set_divisor(divisor);
-        self.set_initial_cnt(initial_count);
         self.setup_lvt(
             APIC_TIMER_IRQ_NUM.data() as u8,
             true,
             LocalApicTimerMode::Periodic,
         );
+        self.set_initial_cnt(initial_count);
     }
 
     fn setup_lvt(&mut self, vector: u8, mask: bool, mode: LocalApicTimerMode) {