From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FdWKM-0000nm-Fk for qemu-devel@nongnu.org; Tue, 09 May 2006 13:48:54 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FdWKK-0000nT-0K for qemu-devel@nongnu.org; Tue, 09 May 2006 13:48:53 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FdWKJ-0000nQ-Q8 for qemu-devel@nongnu.org; Tue, 09 May 2006 13:48:51 -0400 Received: from [65.74.133.6] (helo=mail.codesourcery.com) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA:32) (Exim 4.52) id 1FdWLP-00050y-Ad for qemu-devel@nongnu.org; Tue, 09 May 2006 13:50:00 -0400 From: Paul Brook Date: Tue, 9 May 2006 18:48:45 +0100 MIME-Version: 1.0 Content-Type: Multipart/Mixed; boundary="Boundary-00=_+XNYEZnfLNCElt2" Message-Id: <200605091848.46256.paul@codesourcery.com> Subject: [Qemu-devel] CFT: PCI patch. 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 --Boundary-00=_+XNYEZnfLNCElt2 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline The attached patch rearranges the PCI code and separates the PCI host controller emulation from the generic PCI code. There should be no functional changes except the new PCI controller for Arm targets. I've tested a reasonable selection of x86 guest systems (win98, win2k, Linux, FreeBSD) and I'm reasonably sure I haven't broken anything. However I can't really test ppc (my install ISO doesn't work before the changes). For this reason I'm posting the patch now to give people chance to check their favourite OS. I'll commit the changes in a few days unless problems occur. Paul --Boundary-00=_+XNYEZnfLNCElt2 Content-Type: application/x-gzip; name="patch.pci.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="patch.pci.gz" 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 ew/Y88gBAA== --Boundary-00=_+XNYEZnfLNCElt2--