PPC: Set MPIC IDE for IPI to 0

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 <richa@adacore.com>
Signed-off-by: Alexander Graf <agraf@suse.de>

---

v2 -> v3:

  - fix IDE IPI reset
This commit is contained in:
Alexander Graf 2011-07-23 11:05:35 +02:00
parent a675155e2d
commit 9250fd24a9

View File

@ -1299,6 +1299,10 @@ static void mpic_reset (void *opaque)
mpp->src[i].ipvp = 0x80800000; mpp->src[i].ipvp = 0x80800000;
mpp->src[i].ide = 0x00000001; 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 */ /* Initialise IRQ destinations */
for (i = 0; i < MAX_CPU; i++) { for (i = 0; i < MAX_CPU; i++) {
mpp->dst[i].pctp = 0x0000000F; mpp->dst[i].pctp = 0x0000000F;