[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/3] V3 qemu-xen-trad: Correctly expose PCH ISA bridge for IGD passthrough
>>> On 01.06.13 at 07:04, "G.R." <firemeteor@xxxxxxxxxxxxxxxxxxxxx> wrote: > --- a/hw/pci.c > +++ b/hw/pci.c > @@ -39,24 +39,6 @@ extern int igd_passthru; > > //#define DEBUG_PCI > > -struct PCIBus { > - int bus_num; > - int devfn_min; > - pci_set_irq_fn set_irq; > - pci_map_irq_fn map_irq; > - uint32_t config_reg; /* XXX: suppress */ > - /* low level pic */ > - SetIRQFunc *low_set_irq; > - qemu_irq *irq_opaque; > - PCIDevice *devices[256]; > - PCIDevice *parent_dev; > - PCIBus *next; > - /* The bus IRQ state is the logical OR of the connected devices. > - Keep a count of the number of devices with raised IRQs. */ > - int nirq; > - int irq_count[]; > -}; While it's obvious that this one needs to be moved to the header (albeit see below), ... > @@ -871,11 +853,6 @@ void pci_unplug_netifs(void) > } > } > > -typedef struct { > - PCIDevice dev; > - PCIBus *bus; > -} PCIBridge; ... I don't see why this one also needs to be. > @@ -40,9 +41,13 @@ void intel_pch_init(PCIBus *bus) > did = pt_pci_host_read(pci_dev_1f, PCI_DEVICE_ID, 2); > rid = pt_pci_host_read(pci_dev_1f, PCI_REVISION, 1); > > - if ( vid == PCI_VENDOR_ID_INTEL ) > - pci_bridge_init(bus, PCI_DEVFN(0x1f, 0), vid, did, rid, > - pch_map_irq, "intel_bridge_1f"); > + if (vid == PCI_VENDOR_ID_INTEL) { > + PCIBus *s = pci_bridge_init(bus, PCI_DEVFN(0x1f, 0), vid, did, rid, > + pch_map_irq, "intel_bridge_1f"); > + > + pci_config_set_class(s->parent_dev->config, PCI_CLASS_BRIDGE_ISA); > + s->parent_dev->config[PCI_HEADER_TYPE] = 0x80; Making struct PCIBus globally visible could be avoided altogether by putting these two into one or two little helper functions implemented in hw/pci.c. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |