From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: [patch 14/24] QEMU/KVM: add pci_find_device Date: Tue, 11 Mar 2008 17:12:05 -0300 Message-ID: <20080311201418.322848308@localhost.localdomain> References: <20080311201151.959635433@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: Marcelo Tosatti To: qemu-devel@nongnu.org, kvm-devel@lists.sourceforge.net Return-path: Content-Disposition: inline; filename=pci-find-device List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces@lists.sourceforge.net Errors-To: kvm-devel-bounces@lists.sourceforge.net List-Id: kvm.vger.kernel.org Return PCIDevice from bus number and slot. Signed-off-by: Marcelo Tosatti Index: kvm-userspace.hotplug/qemu/hw/pci.c =================================================================== --- kvm-userspace.hotplug.orig/qemu/hw/pci.c +++ kvm-userspace.hotplug/qemu/hw/pci.c @@ -689,6 +689,23 @@ PCIBus *pci_find_bus(int bus_num) return bus; } +PCIDevice *pci_find_device(int bus_num, int slot) +{ + int devfn; + PCIDevice *d; + PCIBus *bus = pci_find_bus(bus_num); + + if (!bus) + return NULL; + + for(devfn = 0; devfn < 256; devfn++) { + d = bus->devices[devfn]; + if (d && PCI_SLOT(devfn) == slot) + return d; + } + return NULL; +} + PCIBus *pci_bridge_init(PCIBus *bus, int devfn, uint32_t id, pci_map_irq_fn map_irq, const char *name) { Index: kvm-userspace.hotplug/qemu/hw/pci.h =================================================================== --- kvm-userspace.hotplug.orig/qemu/hw/pci.h +++ kvm-userspace.hotplug/qemu/hw/pci.h @@ -93,6 +93,7 @@ uint32_t pci_data_read(void *opaque, uin int pci_bus_num(PCIBus *s); void pci_for_each_device(int bus_num, void (*fn)(PCIDevice *d)); PCIBus *pci_find_bus(int bus_num); +PCIDevice *pci_find_device(int bus_num, int slot); void pci_info(void); PCIBus *pci_bridge_init(PCIBus *bus, int devfn, uint32_t id, -- ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/