qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] fix disabling interrupts in sun4u
@ 2011-07-25 17:22 Artyom Tarasenko
  2011-07-28 10:31 ` tsnsaito
                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Artyom Tarasenko @ 2011-07-25 17:22 UTC (permalink / raw)
  To: qemu-devel; +Cc: blauwirbel, Artyom Tarasenko

clear interrupt request if the interrupt priority < CPU pil
clear hardware interrupt request if interrupts are disabled

Signed-off-by: Artyom Tarasenko <atar4qemu@gmail.com>
---
 hw/sun4u.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/hw/sun4u.c b/hw/sun4u.c
index d7dcaf0..7f95aeb 100644
--- a/hw/sun4u.c
+++ b/hw/sun4u.c
@@ -255,7 +255,7 @@ void cpu_check_irqs(CPUState *env)
         pil |= 1 << 14;
     }
 
-    if (!pil) {
+    if (pil < (2 << env->psrpil)){
         if (env->interrupt_request & CPU_INTERRUPT_HARD) {
             CPUIRQ_DPRINTF("Reset CPU IRQ (current interrupt %x)\n",
                            env->interrupt_index);
@@ -287,10 +287,12 @@ void cpu_check_irqs(CPUState *env)
                 break;
             }
         }
-    } else {
+    } else if (env->interrupt_request & CPU_INTERRUPT_HARD) {
         CPUIRQ_DPRINTF("Interrupts disabled, pil=%08x pil_in=%08x softint=%08x "
                        "current interrupt %x\n",
                        pil, env->pil_in, env->softint, env->interrupt_index);
+        env->interrupt_index = 0;
+        cpu_reset_interrupt(env, CPU_INTERRUPT_HARD);
     }
 }
 
-- 
1.7.3.4

^ permalink raw reply related	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2011-08-28 11:39 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-25 17:22 [Qemu-devel] [PATCH] fix disabling interrupts in sun4u Artyom Tarasenko
2011-07-28 10:31 ` tsnsaito
2011-07-28 11:51   ` Artyom Tarasenko
2011-07-28 12:03     ` tsnsaito
2011-07-28 12:10       ` Tsuneo Saito
2011-07-28 12:55         ` Artyom Tarasenko
2011-07-28 12:50       ` Artyom Tarasenko
2011-07-28 13:40         ` tsnsaito
2011-07-28 14:44           ` Artyom Tarasenko
2011-07-29  1:21             ` tsnsaito
2011-07-30  9:28             ` Blue Swirl
2011-07-30  9:09 ` Blue Swirl
2011-07-30 12:31   ` Artyom Tarasenko
2011-07-30 13:25     ` Blue Swirl
2011-07-30 20:19       ` Artyom Tarasenko
2011-07-30 20:32         ` Blue Swirl
2011-07-30 20:58           ` Artyom Tarasenko
2011-07-30 21:13             ` Blue Swirl
2011-08-28 11:39 ` Blue Swirl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).