Selaa lähdekoodia

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

FurryAcetylCoA 1 kuukausi sitten
vanhempi
sitoutus
e3cfde245d
1 muutettua tiedostoa jossa 1 lisäystä ja 1 poistoa
  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);
 }
 }