aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-01-03 23:28:51 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-01-03 23:28:51 +0000
commit4f7631cfb540b452a01a0375716b51bcc933ef53 (patch)
treec5cf18cceac24cbae93b47e2b0fa03a34a4f6935 /hw
parent62a46c616811461fd06f6321a966c55d8a30c33a (diff)
initial APIC support (only for x86_64 target now)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1185 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw')
-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]);