On 2011-10-04 17:01, Anthony Liguori wrote: > On 10/04/2011 09:58 AM, Avi Kivity wrote: >> On 10/04/2011 04:51 PM, Anthony PERARD wrote: >>> Hi all, >>> >>> This patch series introduce the PCI passthrough for Xen. >>> >>> First, we have HostPCIDevice that help to access one PCI device of >>> the host. >>> >>> Then, there are several additions in the QEMU code. One is >>> qemu_run_one_timer >>> to run a specific timer. It is used by PCI passthrough to run a timer >>> about >>> power management. Another is pci_check_bar_overlap. >>> >>> There are also several change in pci_ids and pci_regs. >>> >>> Last part, but not least, the PCI passthrough device himself. Cut in >>> 3 parts >>> (or file), there is one to take care of the initialisation of a >>> passthrough >>> device. The second one handle everything about the config address >>> space, there >>> are specifics functions for every config register. The third one is >>> to handle >>> MSI. >>> >>> I'm still working on setting a PCI passthrough device through QMP >>> from libxl >>> (xen tool stack). It is just a call to device_add, with the driver >>> parametter >>> hostaddr="0000:00:1b.0". >>> >>> There is some minor things missing: >>> - copyright header >>> - PCI IO space multiplexer >>> >>> >> >> We also have pci passthrough in qemu-kvm (I think based on the same >> Neocleus >> code). Rather than having two pci assignment implementations, I think >> we should >> have just one, with the differences (programming the hypervisor) >> abstracted at >> that level. > > I agree in principle but how close is qemu-kvm pci passthrough to a > mergable state? Would it make sense to merge the Xen code first and > then abstract it?
What is missing to get qemu-kvm device assignment ready: - MSI/MSI-X refactoring in QEMU (specifically config notifiers, also relevant for virtio) - switch device assignment to generic MSI/MSI-X - get in-kernel irqchip support upstream - minor code cleanups I was hoping to complete this for 1.0, but it looks unrealistic now. Maybe I'll find the time for the MSI stuff at least. From a first glance at these patches, I think there are already some synergies in the host-pci access layer. And I bet the Xen bits could also make use of our MSI/MSI-X code once it's generalized. But that will be a bit work for them (based on my experience with qemu-kvm). Jan
signature.asc
Description: OpenPGP digital signature