[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [v4][PATCH 2/5] xen, gfx passthrough: create intel isa bridge
Paolo Bonzini wrote on 2014-06-03: > Il 30/05/2014 10:59, Tiejun Chen ha scritto: >> +static int create_pch_isa_bridge(PCIBus *bus, XenHostPCIDevice *hdev) >> +{ >> + struct PCIDevice *dev; >> + >> + char rid; >> + >> + dev = pci_create(bus, PCI_DEVFN(0x1f, 0), "intel-pch-isa-bridge"); > > This is really a huge hack. You're going to have two ISA bridge devices > in the machine, with the BIOS imagining that the "good" one is at 1f.0 Definitely. So how about expose a fake device at 00:1f.0 but not Isa Bridge? I have discussion with gfx driver developer, it is ok for them to check the device on 00:1f.0 no matter what device it is. > and the ACPI tables actually describing the other one. But the PCI > device at 1f.0 remains there and a driver in the OS could catch it---not > just intel_detect_pch---and if you want to add such a hack it should be > done in the Xen management layers. > > If possible, the host bridge patches are even worse. If you change the > vendor and device ID while keeping the registers of the i440FX you're > going to get conflicts or break firmware badly; TianoCore and SeaBIOS > both expect the normal i440FX vendor and device IDs, for example. I only see the class id is changed but not vendor and device id. > > The hardcoded list of offsets is also not acceptable. It is also not > clear who is accessing the registers, whether the BIOS or the driver. > For Linux, a cursory look at the driver shows that it only accesses > 0x50/0x52 of the listed offsets, but also 0x44/0x48 ("MCH BAR"), what > happens if that code path is encountered? Will have a double check. > > The main problem with IGD passthrough is the incestuous (and that's a > euphemism) relationship between the MCH, PCH and graphics driver. It > may make sense at the hardware level, but for virtualization it doesn't. > A virt-specific driver for GPU command passthrough (with aid from the > kernel driver, but abstracting all the MCH/PCH-dependent details) would > make much more sense. Agree. But it is too hard. > > It's really not your fault, there's not much you can do given the > hardware architecture. But I don't think this code can be accepted > upstream, sorry. > > Paolo Best regards, Yang _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |