]> git.proxmox.com Git - qemu.git/commitdiff
cris: Mask interrupts on dslots for CRISv10.
authorEdgar E. Iglesias <edgar.iglesias@gmail.com>
Sat, 20 Feb 2010 18:17:29 +0000 (19:17 +0100)
committerEdgar E. Iglesias <edgar.iglesias@gmail.com>
Sat, 20 Feb 2010 18:17:29 +0000 (19:17 +0100)
CRISv10 cores (unlike v32) do not take any interrupts while delayed
jumps are pending (delay slots).

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
target-cris/translate_v10.c

index 9a29c51171dc37cc8baab6b9efb127316e99ca72..9abf1a837c7f50525615485a33d2286e4e7e8446 100644 (file)
@@ -1187,6 +1187,10 @@ static unsigned int crisv10_decoder(DisasContext *dc)
         dc->cpustate_changed = 1;
     }
 
+    /* CRISv10 locks out interrupts on dslots.  */
+    if (dc->delayed_branch == 2) {
+        cris_lock_irq(dc);
+    }
     return insn_len;
 }