summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--hw/i8259.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/hw/i8259.c b/hw/i8259.c
index 221506b28f..8f1821d97f 100644
--- a/hw/i8259.c
+++ b/hw/i8259.c
@@ -197,6 +197,15 @@ int cpu_get_pic_interrupt(CPUState *env)
 {
     int irq, irq2, intno;
 
+#ifdef TARGET_X86_64
+    intno = apic_get_interrupt(env);
+    if (intno >= 0) {
+        /* set irq request if a PIC irq is still pending */
+        /* XXX: improve that */
+        pic_update_irq(); 
+        return intno;
+    }
+#endif
     /* read the irq from the PIC */
 
     irq = pic_get_irq(&pics[0]);