From 4ffb9ae2e1227d2ffa14355acbecd37677fe0374 Mon Sep 17 00:00:00 2001 From: "Edgar E. Iglesias" Date: Sat, 20 Feb 2010 19:17:29 +0100 Subject: [PATCH] cris: Mask interrupts on dslots for CRISv10. CRISv10 cores (unlike v32) do not take any interrupts while delayed jumps are pending (delay slots). Signed-off-by: Edgar E. Iglesias --- target-cris/translate_v10.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/target-cris/translate_v10.c b/target-cris/translate_v10.c index 9a29c51171..9abf1a837c 100644 --- a/target-cris/translate_v10.c +++ b/target-cris/translate_v10.c @@ -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; } -- 2.11.4.GIT