[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 11/11] igd: move igd-passthrough-isa-bridge creation to machine init
This patch moves igd-passthrough-isa-bridge creation out of the xen passthrough code into machine init. It is triggered by the igd-passthru=on machine option. Advantages: * This works for on both xen and kvm. * It is activated for the pc machine type only, q35 has a real isa bridge on 1f.0 and must be handled differently. The q35 plan is https://lkml.org/lkml/2015/11/26/183 (should land in the next merge window, i.e. linux 4.5). * If we don't need it any more some day (intel is busy removing chipset dependencies from the guest driver) we have a single machine switch to just turn off all igd passthru chipset tweaks. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> --- hw/i386/pc_piix.c | 6 ++++++ hw/xen/xen_pt.c | 14 -------------- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index f36222e..2afbbd3 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -281,6 +281,12 @@ static void pc_init1(MachineState *machine, if (pcmc->pci_enabled) { pc_pci_device_init(pci_bus); } + +#ifdef CONFIG_LINUX + if (machine->igd_gfx_passthru) { + igd_passthrough_isa_bridge_create(pci_bus); + } +#endif } /* Looking for a pc_compat_2_4() function? It doesn't exist. diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c index 18a7f72..5f626c9 100644 --- a/hw/xen/xen_pt.c +++ b/hw/xen/xen_pt.c @@ -685,17 +685,6 @@ static const MemoryListener xen_pt_io_listener = { .priority = 10, }; -static void -xen_igd_passthrough_isa_bridge_create(XenPCIPassthroughState *s, - XenHostPCIDevice *dev) -{ - uint16_t gpu_dev_id; - PCIDevice *d = &s->dev; - - gpu_dev_id = dev->device_id; - igd_passthrough_isa_bridge_create(d->bus); -} - /* destroy. */ static void xen_pt_destroy(PCIDevice *d) { @@ -810,9 +799,6 @@ static int xen_pt_initfn(PCIDevice *d) xen_host_pci_device_put(&s->real_device); return -1; } - - /* Register ISA bridge for passthrough GFX. */ - xen_igd_passthrough_isa_bridge_create(s, &s->real_device); } /* Handle real device's MMIO/PIO BARs */ -- 1.8.3.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |