diff options
Diffstat (limited to 'target-sh4/helper.c')
-rw-r--r-- | target-sh4/helper.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/target-sh4/helper.c b/target-sh4/helper.c index 917f02f806..bdbf70ebab 100644 --- a/target-sh4/helper.c +++ b/target-sh4/helper.c @@ -87,9 +87,10 @@ void do_interrupt(CPUState * env) if (do_exp && env->exception_index != 0x1e0) { env->exception_index = 0x000; /* masked exception -> reset */ } - if (do_irq) { + if (do_irq && !env->intr_at_halt) { return; /* masked */ } + env->intr_at_halt = 0; } if (do_irq) { |