From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1H6Wia-0006tt-Qf for qemu-devel@nongnu.org; Mon, 15 Jan 2007 13:38:05 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1H6WiZ-0006sT-1o for qemu-devel@nongnu.org; Mon, 15 Jan 2007 13:38:04 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1H6WiY-0006s5-E8 for qemu-devel@nongnu.org; Mon, 15 Jan 2007 13:38:02 -0500 Received: from [81.103.221.48] (helo=mtaout02-winn.ispmail.ntl.com) by monty-python.gnu.org with esmtp (Exim 4.52) id 1H6WiX-0001wV-Vr for qemu-devel@nongnu.org; Mon, 15 Jan 2007 13:38:02 -0500 Received: from aamtaout03-winn.ispmail.ntl.com ([81.103.221.35]) by mtaout02-winn.ispmail.ntl.com with ESMTP id <20070115183758.NNAS18673.mtaout02-winn.ispmail.ntl.com@aamtaout03-winn.ispmail.ntl.com> for ; Mon, 15 Jan 2007 18:37:58 +0000 Received: from miranda.arrow ([213.107.21.212]) by aamtaout03-winn.ispmail.ntl.com with ESMTP id <20070115183758.KKHK26699.aamtaout03-winn.ispmail.ntl.com@miranda.arrow> for ; Mon, 15 Jan 2007 18:37:58 +0000 Received: from sdb by miranda.arrow with local (Exim 4.50) id 1H6WiQ-0002QH-MT for qemu-devel@nongnu.org; Mon, 15 Jan 2007 18:37:54 +0000 Date: Mon, 15 Jan 2007 18:37:54 +0000 From: Stuart Brady Message-ID: <20070115183754.GA9281@miranda.arrow> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [Qemu-devel] Possible regression for Heathrow (PPC), with workaround 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 Hi, I've noticed a possible regression involving the Heathrow (PPC) machine, caused by the PCI IRQ sharing patch commited on 2006-09-24. The Debian Sarge (3.1) installer does not appear to run correctly since that commit, due to lost interrupts. (FWIW, I was following http://overselfresearch.com/kb/qemu.html) Here is a workaround for the issue: diff -u -r1.3 grackle_pci.c --- hw/grackle_pci.c 24 Sep 2006 17:01:44 -0000 1.3 +++ hw/grackle_pci.c 15 Jan 2007 18:31:47 -0000 @@ -77,12 +77,14 @@ /* Don't know if this matches real hardware, but it agrees with OHW. */ static int pci_grackle_map_irq(PCIDevice *pci_dev, int irq_num) { - return (irq_num + (pci_dev->devfn >> 3)) & 3; + /* XXX: Workaround */ + return pci_dev->config[PCI_INTERRUPT_LINE]; } static void pci_grackle_set_irq(void *pic, int irq_num, int level) { - heathrow_pic_set_irq(pic, irq_num + 8, level); + /* XXX: Workaround */ + heathrow_pic_set_irq(pic, irq_num, level); } PCIBus *pci_grackle_init(uint32_t base, void *pic) Cheers, -- Stuart Brady