]> Git Repo - qemu.git/commitdiff
PPC: Set MPIC IDE for IPI to 0
authorAlexander Graf <[email protected]>
Sat, 23 Jul 2011 09:05:35 +0000 (11:05 +0200)
committerAlexander Graf <[email protected]>
Thu, 6 Oct 2011 07:43:33 +0000 (09:43 +0200)
We use the IDE register with IPIs as a mask to keep track which processors
have already acknowledged the respective interrupt. So we need to initialize
it to 0 to make sure that it doesn't accidently fire an IPI on CPU0 when the
first IPI is triggered.

Reported-by: Elie Richa <[email protected]>
Signed-off-by: Alexander Graf <[email protected]>
---

v2 -> v3:

  - fix IDE IPI reset

hw/openpic.c

index 9710ac0b30ca36f9a41d1ee55bb10b87170604c3..31ad1751fed7de3582aec48f1f8d01004a6771da 100644 (file)
@@ -1299,6 +1299,10 @@ static void mpic_reset (void *opaque)
         mpp->src[i].ipvp = 0x80800000;
         mpp->src[i].ide  = 0x00000001;
     }
+    /* Set IDE for IPIs to 0 so we don't get spurious interrupts */
+    for (i = mpp->irq_ipi0; i < (mpp->irq_ipi0 + MAX_IPI); i++) {
+        mpp->src[i].ide = 0;
+    }
     /* Initialise IRQ destinations */
     for (i = 0; i < MAX_CPU; i++) {
         mpp->dst[i].pctp      = 0x0000000F;
This page took 0.029476 seconds and 4 git commands to generate.