From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Cq9cq-0005iH-9T for qemu-devel@nongnu.org; Sun, 16 Jan 2005 07:35:24 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Cq9cm-0005fF-0l for qemu-devel@nongnu.org; Sun, 16 Jan 2005 07:35:20 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Cq9cl-0005e7-P9 for qemu-devel@nongnu.org; Sun, 16 Jan 2005 07:35:19 -0500 Received: from [212.227.126.183] (helo=moutng.kundenserver.de) by monty-python.gnu.org with esmtp (Exim 4.34) id 1Cq9OV-0003Yz-Tn for qemu-devel@nongnu.org; Sun, 16 Jan 2005 07:20:36 -0500 Received: from [212.227.126.205] (helo=mrelayng.kundenserver.de) by moutng.kundenserver.de with esmtp (Exim 3.35 #1) id 1Cq9OS-0004JE-00 for qemu-devel@nongnu.org; Sun, 16 Jan 2005 13:20:32 +0100 Received: from [217.237.99.241] (helo=pD9ED63F1.dip0.t-ipconnect.de) by mrelayng.kundenserver.de with asmtp (TLSv1:RC4-MD5:128) (Exim 3.35 #1) id 1Cq9OR-0000h1-00 for qemu-devel@nongnu.org; Sun, 16 Jan 2005 13:20:32 +0100 From: Volker Ruppert Date: Sun, 16 Jan 2005 13:24:25 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-Id: <200501161324.25973.info@vruppert.de> Subject: [Qemu-devel] Fix for qemu with latest Bochs BIOS 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 all! Some people tried to use qemu and the latest Bochs BIOS from CVS without=20 success. The reason for the failure is the modified PCI IRQ routing table a= nd=20 the PCI IRQ initialization. The small patch below fixes the problem (tested= =20 with WinNT 4.0 SP6). The reason for the modified pirq routing table is the USB controller of the= =20 PIIX3 chipset. According to the specs it uses the INTD pin hardwired to=20 PIRQD. To implement this, I had to place the PIIX3 at entry #1 of the routi= ng=20 table. I removed the i440FX PMC/DBX from the table, since it doesn't use an= =20 IRQ line. The devices connected to slots are using now the entries #2 to #6= =2E=20 If the patch works in all cases you can also remove the temporary pci irq=20 initialization code. diff -urN /home/volker/qemu/hw/pci.c ./hw/pci.c =2D-- /home/volker/qemu/hw/pci.c=A0=A02004-10-09 23:25:21.000000000 +0200 +++ ./hw/pci.c=A0=A02004-12-24 20:10:50.000000000 +0100 @@ -494,7 +494,7 @@ =A0static inline int pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num) =A0{ =A0 =A0 =A0int slot_addend; =2D =A0 =A0slot_addend =3D (pci_dev->devfn >> 3); + =A0 =A0slot_addend =3D (pci_dev->devfn >> 3) - 1; =A0 =A0 =A0return (irq_num + slot_addend) & 3; =A0} =A0 =2D- Bye Volker P.S.: The latest Bochs BIOS also implements some missing PS/2 mouse functio= ns.=20 Now it is possible to implement wheel mouse support. In Bochs the wheel wor= ks=20 now in the Win98 guest.