From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LNRZZ-00062d-Kg for qemu-devel@nongnu.org; Thu, 15 Jan 2009 07:43:45 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LNRZX-00061v-Lt for qemu-devel@nongnu.org; Thu, 15 Jan 2009 07:43:44 -0500 Received: from [199.232.76.173] (port=53701 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LNRZX-00061r-IV for qemu-devel@nongnu.org; Thu, 15 Jan 2009 07:43:43 -0500 Received: from az33egw02.freescale.net ([192.88.158.103]:61367) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LNRZW-0002ur-To for qemu-devel@nongnu.org; Thu, 15 Jan 2009 07:43:43 -0500 Received: from az33smr02.freescale.net (az33smr02.freescale.net [10.64.34.200]) by az33egw02.freescale.net (8.14.3/az33egw02) with ESMTP id n0FCgA7a022829 for ; Thu, 15 Jan 2009 05:42:10 -0700 (MST) Received: from zch01exm26.fsl.freescale.net (zch01exm26.ap.freescale.net [10.192.129.221]) by az33smr02.freescale.net (8.13.1/8.13.0) with ESMTP id n0FCg5WD016752 for ; Thu, 15 Jan 2009 06:42:09 -0600 (CST) From: Liu Yu Date: Thu, 15 Jan 2009 20:34:10 +0800 Message-Id: <1232022857-2315-3-git-send-email-yu.liu@freescale.com> In-Reply-To: <1232022857-2315-2-git-send-email-yu.liu@freescale.com> References: <1232022857-2315-1-git-send-email-yu.liu@freescale.com> <1232022857-2315-2-git-send-email-yu.liu@freescale.com> Subject: [Qemu-devel] [PATCH 2/9] powerpc/kvm: fix a openpic bug Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Liu Yu , kvm-ppc@vger.kernel.org An external interrupt should not interrupted in-servicing interrupt with equal priority. Signed-off-by: Liu Yu --- hw/openpic.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/hw/openpic.c b/hw/openpic.c index def20eb..b8da4d7 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 */ -- 1.5.4