From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:47380) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R1bOB-0001cs-VX for qemu-devel@nongnu.org; Thu, 08 Sep 2011 05:59:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R1bOB-0001Ig-2Y for qemu-devel@nongnu.org; Thu, 08 Sep 2011 05:59:19 -0400 Received: from [222.73.24.84] (port=49389 helo=song.cn.fujitsu.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R1bOA-0001Hw-Az for qemu-devel@nongnu.org; Thu, 08 Sep 2011 05:59:19 -0400 Message-ID: <4E6891B4.5010800@cn.fujitsu.com> Date: Thu, 08 Sep 2011 17:58:12 +0800 From: Wen Congyang MIME-Version: 1.0 References: <4E4D2C9F.6040805@redhat.com> <4E4DF0A0.6000108@cn.fujitsu.com> <4E4E808C.4000205@redhat.com> <4E51C945.6070103@cn.fujitsu.com> <4E51F5FD.4030905@redhat.com> <4E6045E0.2090701@cn.fujitsu.com> <4E6335E4.6040705@redhat.com> <4E658E2F.6050302@cn.fujitsu.com> <4E65CF9E.20004@redhat.com> <4E66F56D.9070709@cn.fujitsu.com> <20110907115223.GD9337@redhat.com> <4E685D85.6030806@cn.fujitsu.com> <4E686E0C.7090906@cn.fujitsu.com> <4E688E32.7060207@redhat.com> In-Reply-To: <4E688E32.7060207@redhat.com> Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=ISO-8859-1 Subject: Re: [Qemu-devel] [PATCH] pci: add standard bridge device List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: Kevin Wolf , Isaku Yamahata , qemu-devel@nongnu.org, Avi Kivity , "Michael S. Tsirkin" At 09/08/2011 05:43 PM, Gerd Hoffmann Write: > Hi, > >> I modify the code like this, and the PCI_INTERRUPT_LINE register is >> set, and I can bind >> it to uio_pci_generic: > >> --- a/src/pciinit.c >> +++ b/src/pciinit.c >> @@ -575,6 +575,8 @@ static int pci_bios_init_root_regions(u32 start, >> u32 end) > >> pci_bios_init_bus_bases(&busses[0]); >> - pci_bios_map_device_in_bus(0 /* host bus */); >> + for (bus = 0; bus<= MaxPCIBus; bus++) { >> + pci_bios_map_device_in_bus(bus /* host bus */); > > No. pci_bios_map_device_in_bus goes down recursively when it finds a > bridge, so it should cover all devices already. Yes, pci_bios_map_device() goes down recursively. > >> - pci_bios_init_device_in_bus(0 /* host bus */); >> + pci_bios_init_device_in_bus(bus /* host bus */); >> + } > > That is correct. Can be done easier though by just not limiting device > initialization to a specific bus like in the attached patch. Does that > one work for you? I test it, and it works for me. Thanks Wen Congyang > > cheers, > Gerd