Преглед изворни кода

[libcpu][risc-v] Fix PLIC interrupt processing order

FurryAcetylCoA пре 1 недеља
родитељ
комит
e3cfde245d
1 измењених фајлова са 1 додато и 1 уклоњено
  1. 1 1
      libcpu/risc-v/virt64/plic.c

+ 1 - 1
libcpu/risc-v/virt64/plic.c

@@ -151,6 +151,6 @@ extern struct rt_irq_desc irq_desc[MAX_HANDLERS];
 void plic_handle_irq(void)
 void plic_handle_irq(void)
 {
 {
     int plic_irq = plic_claim();
     int plic_irq = plic_claim();
-    plic_complete(plic_irq);
     irq_desc[plic_irq].handler(plic_irq, irq_desc[plic_irq].param);
     irq_desc[plic_irq].handler(plic_irq, irq_desc[plic_irq].param);
+    plic_complete(plic_irq);
 }
 }