On Thu, May 14, 2015 at 02:08:49PM +0200, Paolo Bonzini wrote: > > > On 14/05/2015 14:00, Christoffer Dall wrote: > > So, getting back to my original question. Is the point then that UEFI > > must assume (from ACPI/DT) the cache-coherency properties of the PCI > > controller which exists in hardware on the system you're running on, > > even for the virtual PCI bus because that will be the semantics for > > assigned devices? > > > > And in that case, we have no way to distinguish between passthrough > > devices and virtual devices plugged into the virtual PCI bus? > > Well, we could use the subsystem id. But it's a hack, and may cause > incompatibilities with some drivers. Michael, any ideas? > > > What about the idea of having two virtual PCI buses on your system where > > one is always cache-coherent and uses for virtual devices, and the other > > is whatever the hardware is and used for passthrough devices? > > I think that was rejected before. >
Do you remember where? I just remember Catalin mentioning the idea to me verbally. Besides the slightly heavy added use of resources etc. it seems like it would address some of our issues in a good way. But I'm still not sure why UEFI/Linux currently sees our PCI bus as being non-coherent when in fact it is and we have no passthrough issues currently. Are all PCI controllers always non-coherent for some reason and therefore we model it as such too? -Christoffer