aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2009-01-15 21:19:54 +0000
committeraliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>2009-01-15 21:19:54 +0000
commit2486516710d6365b5ec2be267bbdf4c79d0af3ad (patch)
tree96636867267e9d465b8f6c5d03af65c1859dfdd8
parent57be80f948cdbb75ef00fd8345845d83010d8af1 (diff)
powerpc/kvm: fix a openpic bug (Liu Yu)
An external interrupt should not interrupted in-servicing interrupt with equal priority. Signed-off-by: Liu Yu <yu.liu@freescale.com> Acked-by: Hollis Blanchard <hollisb@us.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6328 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--hw/openpic.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/openpic.c b/hw/openpic.c
index def20eb4c8..b8da4d7024 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -279,7 +279,7 @@ static void IRQ_local_pipe (openpic_t *opp, int n_CPU, int n_IRQ)
}
IRQ_get_next(opp, &dst->raised);
if (IRQ_get_next(opp, &dst->servicing) != -1 &&
- priority < dst->servicing.priority) {
+ priority <= dst->servicing.priority) {
DPRINTF("%s: IRQ %d is hidden by servicing IRQ %d on CPU %d\n",
__func__, n_IRQ, dst->servicing.next, n_CPU);
/* Already servicing a higher priority IRQ */