aboutsummaryrefslogtreecommitdiff
path: root/hw/i8259.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/i8259.c')
-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]);